HDU-1262素数对

来源:互联网 发布:大数据带来的实质变化 编辑:程序博客网 时间:2024/05/16 08:18

水题一个:

先打印素数表,然后去中,往两边一次选,就可以了,主意可以认为相同的两个素之和等于偶数,比如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;}



原创粉丝点击