本文主要是介绍HDU-1262素数对,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
水题一个:
先打印素数表,然后去中,往两边一次选,就可以了,主意可以认为相同的两个素之和等于偶数,比如34=17+17。先前没注意这个WA。
#include<stdio.h>
#include<math.h>int p[10010]; void get() //打印素数
{p[1]=1;for (int i = 4; i <= 10010; i += 2) { p[i] = 1; } int LIM = (int)sqrt(10010.0); for (int i = 3; i <= LIM; i += 2) { if (p[i]) continue; for (int j = i*i; j <= 10010; j += 2*i) { p[j] = 1; } }
}int main()
{int n,k;get();while(scanf("%d",&n)!=EOF){k=n/2;for(int i=0;i<k;i++)if(p[k-i]!=1&&p[k+i]!=1){printf("%d %d\n",k-i,k+i);break;}}return 0;
}
这篇关于HDU-1262素数对的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!