zoukankan      html  css  js  c++  java
  • aoj 0009 Prime Number

    Write a program which reads an integer n and prints the number of prime numbers which are less than or equal to n. A prime number is a natural number which has exactly two distinct natural number divisors: 1 and itself. For example, the first four prime numbers are: 2, 3, 5 and 7.

    Input

    Input consists of several datasets. Each dataset has an integer n (1 ≤ n ≤ 999,999) in a line.

    The number of datasets is less than or equal to 30.

    Output

    For each dataset, prints the number of prime numbers.

    Sample Input

    10
    3
    11
    

    Output for the Sample Input

    4
    2
    5

    筛选素数表并记录素数个数。
    代码:
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <cstdlib>
    #define MAX 1000000
    #define inf 0x3f3f3f3f
    using namespace std;
    bool isprime[MAX] = {true,true,false,false};
    int prime_num[MAX];
    int c;
    int main() {
        for(int i = 2;i < MAX;i ++) {///筛选素数 并记录小于等于i的素数个数
            if(!isprime[i]) {
                c ++;
                if(i < 1000)
                for(int j = i * i;j < MAX;j += i) {
                    isprime[j] = true;
                }
            }
            prime_num[i] = c;
        }
        int n;
        while(~scanf("%d",&n)) {
            printf("%d
    ",prime_num[n]);
        }
    }
  • 相关阅读:
    文件搜索和图像裁剪
    Mat的复制
    map
    substr
    cin,scanf
    strstr
    Applying vector median filter on RGB image based on matlab
    sobel算子的一些细节
    matlab 有趣小细节
    高斯混合模型(GMM)
  • 原文地址:https://www.cnblogs.com/8023spz/p/9471180.html
Copyright © 2011-2022 走看看