misaka oj 1015 素数统计

http://oj.misakamm.com/JudgeOnline/problem.php?id=1015

题目描述

输入n,找出从1~n一共有多少个素数

输入

输入仅一个不大于10000000的正整数

输出

输出1到n里素数的个数

样例输入
10
样例输出
4
#include <fstream>

/// ture为合数,false为素数;

bool dic[10000000] ;

int main()
{
    int i = 2 , j , k = 0 , n ;
    scanf( "%d" , &n ) ;
    ++n ;
    for ( j = i + i ; j < n ; j += i ) dic[j] = true ;
    for ( i = 3 ; i < n ; i += 2 )
    {
        if ( dic[i] ) continue ;
        for ( j = i * 3 ; j < n ; j += i + i ) dic[j] = true ;
    }
    for ( i = 2 ; i < n ; ++i )
    {
        if ( dic[i] ) continue ;
        ++k ;
    }
    printf( "%d" , k ) ;

}

 

posted @ 2013-05-29 14:54  活在二次元的伪触  阅读(198)  评论(0编辑  收藏  举报