首页 > 其他 > 详细

hdu 2098 分拆素数和

时间:2014-07-31 02:37:55      阅读:397      评论:0      收藏:0      [点我收藏+]

WA了好几发..........原来是我的数组越界了,习惯性定义了prime[maxn] 但是每次都去改写maxn位置!!!!

太大意了 要时刻提醒自己不要忘记数组不要越界!

下面是AC代码~~~

 1 #include<iostream>
 2 #include<memory.h>
 3 using namespace std;
 4 #define maxn 10005
 5 int prime[maxn];
 6 void f()
 7 {
 8     memset(prime,0,sizeof(prime));
 9     prime[0] = prime[1] = 1;
10     for(int i = 2; i < maxn; i++)
11     {
12         if(!prime[i])
13         {
14             for(int j = i * 2; j < maxn; j += i)
15                 prime[j] = 1;
16         }
17     }
18 }
19 int main()
20 {
21     int n,cnt;
22     f();
23     while(cin>>n && n)
24     {
25         cnt = 0;
26         for(int i = 3; i < n / 2; i += 2)  //只考虑奇数
27         {
28             if(prime[i] == 0 && prime[n - i] == 0)
29             {
30                 if(i != n - i)//!!!!!!!!
31                     cnt++;
32             }
33         }
34         cout<<cnt<<endl;
35     }
36     return 0;
37 }

 

hdu 2098 分拆素数和,布布扣,bubuko.com

hdu 2098 分拆素数和

原文:http://www.cnblogs.com/imLPT/p/3879678.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!