首页 > 代码库 > OJ刷题之《筛选法选择素数》

OJ刷题之《筛选法选择素数》

题目描述

用筛法求N<1000)之内的素数。

输入

N

输出

0N的素数

样例输入

100

样例输出

2

3

5

7

11

13

17

19

23

29

31

37

41

43

47

53

59

61

67

71

73

79

83

89

97


代码如下:

#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int i);
int main()
{
    int n,i=0;
    cin>>n;
    for (i=2;i<=n;++i)
    {
        if (isPrime(i))
            cout<<i<<endl;
    }
    return 0;
}

bool isPrime(int i)
{
    int n;
    for (n=2;n<=sqrt(i);++n)
        if(i%n==0)
        break;
    if (n>sqrt(i))
        return i;
}

运行结果:

技术分享


OJ刷题之《筛选法选择素数》