zoukankan      html  css  js  c++  java
  • hdu 2098 分拆素数和

    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 }
  • 相关阅读:
    ISBN号码
    计数问题
    小玉在游泳
    数字反转
    单调队列(学习笔记)
    LCA(学习笔记)
    emacs配置文件
    线段树(学习笔记)
    RMQ问题 ST算法(学习笔记)
    Lucas卢卡斯定理(学习笔记)
  • 原文地址:https://www.cnblogs.com/imLPT/p/3879678.html
Copyright © 2011-2022 走看看