编程求2~n(n为大于2的正整数)中有多少个素数。

这是题目

#include<iostream>
#include<cmath>
using namespace std;
bool judge(int x);
int main()
{
    int n;
    int i;
    int sum=0;
 
    cin>>n;
    for(i=2; i<=n; i++)
        if(judge(i))//若是素数
            sum++;//累加素数个数
    cout<<sum<<endl;
 
    return 0;
}
bool judge(int x)//判断素数
{
    int i=2;
    while(i<=floor(sqrt(x))&&(x%i)!=0)
        i++;
    if(i>floor(sqrt(x)))
        return true;
    return false;
}

这是我的代码

在其中我用了一个bool型变量进行对素数的判别,

因为这个题是对个数进行统计所以我在main函数中用for循环打了一个计数器

就是sum,最后输出sum就行了

这就是这个题了

 

posted on 2020-01-30 23:02  月下诺  阅读(1729)  评论(0编辑  收藏  举报

Live2D