码迷,mamicode.com
首页 > 其他好文 > 详细

AOJ 0009 Prime Number(求素数)

时间:2015-02-22 14:33:50      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

题意:给定一个数n,判断从2—n中的素数个数是多少。

KEY:这里有两种做法,一是没注释那个代码测试极端数据999999就会错的,二是注释掉的那段代码才能AC。对于一眼看上去很简单的题目,特别要注意时间复杂度。

#include <iostream>
#include <stdio.h>
#include <string.h>
const int maxn = 999999 + 5;
int num[maxn];

using namespace std;

int main()
{
    int t;
    int n, m;
    while(scanf("%d", &t) != EOF){
        int m = 0;
        memset(num, 0, sizeof(num));
        n = m = 0;
       for(int i = 3; i <= t; i++){
            n = 0;
            for(int j = 2; j < i; j++){
               if(i % j != 0)
                    n++;
                else
                    break;
            }
        if(n == (i - 2))
           m++;
      //  }
        //for(int i = 0; i <= t; i++){
         //   num[i] = i;
      //  }
       // for(int i = 2; i <= t; i++){
       //     if(num[i] != 0){
      //          //num[i] = 0;
       //         for(int j = 2; j * i <= t; j++){
      //              num[j * i] = 0;
      //          }
      //      }
      //  }
      //  for(int i = 2; i <= t; i++){
      //      if(num[i] != 0)
      //          m++;
      //  }
    }
    printf("%d\n", m + 1);
   // printf("%d\n", m);
    }
    return 0;
}

 

AOJ 0009 Prime Number(求素数)

标签:

原文地址:http://www.cnblogs.com/Joe962850924/p/4297462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!