1+1猜想 II
来源:互联网 发布:在线对对联软件 编辑:程序博客网 时间:2024/05/29 08:57
FJNU.1759
Description
1+1猜想:
找出和为x(x为偶数,x>4)的两个素数
Input
第一行为数据组数N,
接下来N行,每行都有一个偶数x (4<x<=4294967294)
Output
输出为N行,输出和为x的两个素数。若有多组,输出绝对值之差最大的一组。
Sample Input
3
100
5526076
419911924
Sample Output
3 97
557 5525519
1583 419910341
My Program
#include<iostream>
#include<math.h>
using namespace std;
const int N=65536;
bool prime[N];
int pr[N],l;
void getprime()
...{
int i,j;
for(i=1;i<N;i++)
prime[i]=true;
prime[0]=false;
i=1;
while(i<N)
...{
if(prime[i])
...{
j=(i+1)*2;
while(j<N)
...{
prime[j-1]=false;
j+=i+1;
}
}
i++;
}
l=0;
for(i=1;i<N;i++)
if(prime[i-1])
...{
l++;
pr[l]=i;
}
}
bool isprime(unsigned long x)
...{
if(x!=2&&x%2==0)
return false;
for(int i=1;i<l;i++)
if(pr[i]>=x)
break;
else
if(x%pr[i]==0)
return false;
return true;
}
int main()
...{
int n,j;
unsigned long i,x;
getprime();
cin>>n;
for(j=0;j<n;j++)
...{
cin>>x;
for(i=2;i<=x;i++)
if(isprime(i)&&isprime(x-i))
...{
cout<<i<<" ";
cout<<x-i<<endl;
break;
}
}
return 0;
}
#include<math.h>
using namespace std;
const int N=65536;
bool prime[N];
int pr[N],l;
void getprime()
...{
int i,j;
for(i=1;i<N;i++)
prime[i]=true;
prime[0]=false;
i=1;
while(i<N)
...{
if(prime[i])
...{
j=(i+1)*2;
while(j<N)
...{
prime[j-1]=false;
j+=i+1;
}
}
i++;
}
l=0;
for(i=1;i<N;i++)
if(prime[i-1])
...{
l++;
pr[l]=i;
}
}
bool isprime(unsigned long x)
...{
if(x!=2&&x%2==0)
return false;
for(int i=1;i<l;i++)
if(pr[i]>=x)
break;
else
if(x%pr[i]==0)
return false;
return true;
}
int main()
...{
int n,j;
unsigned long i,x;
getprime();
cin>>n;
for(j=0;j<n;j++)
...{
cin>>x;
for(i=2;i<=x;i++)
if(isprime(i)&&isprime(x-i))
...{
cout<<i<<" ";
cout<<x-i<<endl;
break;
}
}
return 0;
}
YOYO's Note:
原来的从2~int(sqrt(n))一直TLE,无意间看到了大范围判断素数的方法(见函数库的《常用的数论算法》一文)。这次打的表是65536的,虽然AC了,依然花了0.80s……
- 1+1猜想 II
- fjnu 1759 1+1猜想 II
- 猜想1
- 1+1猜想
- 3n+1 猜想
- (3n+1)猜想
- 1001.3n+1猜想
- 3n+1猜想
- 3n+1猜想
- 3n+1猜想
- PAT(B)1001.3n+1猜想/角谷猜想
- 3n+1猜想或角谷猜想
- 17.4.8.3n+1猜想、考拉兹猜想
- fjnu 1716 1+1猜想
- MVC以及struts 1 猜想
- 继续(3n+1)猜想
- 继续(3n+1)猜想
- 继续3N + 1猜想
- Google手机遭遇成长的烦恼
- 百位数精确求和
- 学习《深入浅出MFC》总结(上)
- 博客首篇
- 开心一下
- 1+1猜想 II
- 如何让MSSQL两个数据库的内容同步
- 学习《深入浅出MFC》总结(下)
- 通过作业,定时同步两个数据库
- Rails
- 为什么在XP下chm格式帮助文档显示“无法显示网页”
- Fuzzy Time
- 第一篇博文
- 文件以二进制形式上传和下载(asp.net)