HDU 4715:Difference Between Primes

网友投稿 266 2022-08-30

HDU 4715:Difference Between Primes

Difference Between Primes

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3339    Accepted Submission(s): 953

Problem Description

All you know Goldbach conjecture.That is to say, Every even integer greater than 2 can be expressed as the sum of two primes. Today, skywind present a new conjecture: every even integer can be expressed as the difference of two primes. To validate this conjecture, you are asked to write a program.

Input

The first line of input is a number nidentified the count of test cases(n<10^5). There is a even number xat the next nlines. The absolute value of xis not greater than 10^6.

Output

For each number xtested, outputstwo primes aand bat one line separatedwith one space where a-b=x. If more than one group can meet it, output the minimum group. If no primes can satisfy it, output 'FAIL'.

Sample Input

3 6 10 20

Sample Output

11 5 13 3 23 3

Source

迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#includeusing namespace std;const long N = 1000005;long prime[N],num_prime;int isNotPrime[N]= {1, 1};void getprime(){ for(long i = 2 ; i < N ; i ++) { if(!isNotPrime[i])prime[num_prime ++]=i; for(long j = 0 ; j < num_prime && i * prime[j] < N ; j ++) { isNotPrime[i * prime[j]] = 1; if(!(i%prime[j]))break; } }}int main(){ getprime(); int T,n,s,a; cin>>T; while(T--) { cin>>n; a=n>0?n:-n; s=0; for(int i=0; i<100000; i++) if(!isNotPrime[prime[i]+a]) { if(n>0) cout<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:B. Polycarp and Letters
下一篇:“双11”遭营销短信、电话“轰炸”,部分平台可协助用户退订!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~