【C语言】BC81kiki求质数个数(DAY 5)

BC81kiki求质数个数
【C语言】BC81kiki求质数个数(DAY 5)_第1张图片

#include
int main()
{
    int cnt=0;
    for(int i=100;i<1000;i++)
    {
        if(isprime(i))
        {
            cnt++;
        }
    }
    printf("%d",cnt);
}
int isprime(int k)
{
    for(int j=2;j<k;j++)
    {
        if(k%j==0)
        {
            return 0;
        }
       
    }
    return -1;
}

由题目得知,要求的是三位整数,所以范围是100到999,知道了这一点就可以写出第一个循环的条件。我们接着往下想,有了循环,就该遍历了,如何才能让100到999个数字都遍历一遍,并且得到质数?
问题拆解为两步,首先是得到质数,这是一个循环,其次是一个遍历循环。
为了方便,我们可以写一个函数isprime。
int isprime(int k)
在这个函数中,我们让变量j从二开始,若100到999之间的数mod j ==0 则cnt++ 即质数个数加一。 int k是为了在main函数中调用时使用。 if(isprime(i))就是把这个i 调用isprime中的k,即传参数。

你可能感兴趣的:(#,C语言刷题,c语言,算法,数据结构,开发语言,后端)