1 条题解
-
0
C :
#include<stdio.h> #define N 500000 int all[N]; int main() { int i,j,n,k,count,prime[10000]; for(i=0;i<N;i++) { all[i]=0; } all[0]=all[1]=1; for(i=2;i<N;i++) for(j=2;j<N&&i*j<N;j++) { all[i*j]=1; } while(1) { scanf("%d",&n); if(n==0) break; j=count=0; for(i=0;i<n;i++) { if(all[i]==0) prime[j++]=i; } for(i=0;i<j;i++) for(k=0;k<j;k++) { if(prime[i]+prime[k]==n) count++; } if(all[n/2]==0) { count=(count-1)/2+1; } else { count/=2; } printf("%d\n",count); } return 0; }
C++ :
#include <stdio.h> int n,a[50000]; int run() { int t=0,i; for(i=2;i<=n/2;i++) if((a[i]==1)&&(a[n-i]==1)) t++; printf("%d\n",t); } int main() { int i,j,k; for(i=2;i<=40000;i++) { k=1; j=2; while(j*j<=i) { if(i%j==0) k=0; j++; } a[i]=k; } scanf("%d",&n); while(n!=0) { run(); scanf("%d",&n); } return 0; }
- 1
信息
- ID
- 2002
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者