比赛 20100913 评测结果 AAAAAAAAAA
题目名称 连续素数和 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2010-09-13 19:45:57
显示代码纯文本
  1. #include <cstdio>
  2. using namespace std;
  3.  
  4. const int MAXN=10005;
  5.  
  6. int prime[MAXN],top=1;
  7. int re[MAXN],s[MAXN];
  8.  
  9. void init()
  10. {
  11. bool flag[MAXN];
  12. for(int i=2;i<10000;i++)
  13. flag[i]=true;
  14. for(int i=2;i<10000;i++)
  15. if (flag[i])
  16. {
  17. // printf("%d\n",i);
  18. prime[top++]=i;
  19. for(int j=i+i;j<10000;j+=i)
  20. flag[j]=false;
  21. }
  22. }
  23.  
  24. int main()
  25. {
  26. init();
  27. freopen("conprime.in","r",stdin);
  28. freopen("conprime.out","w",stdout);
  29. for(int i=1;i<top;i++)
  30. s[i]=s[i-1]+prime[i];
  31. for(int i=0;i<top;i++)
  32. for(int j=i+1;j<top;j++)
  33. if (s[j]-s[i]<=10000)
  34. re[s[j]-s[i]]++;
  35. int n;
  36. scanf("%d",&n);;
  37. while(n)
  38. {
  39. printf("%d\n",re[n]);
  40. scanf("%d",&n);
  41. }
  42. return 0;
  43. }