素数的判断

素数:

质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

 

例题:判断一个数在[a,b]之间的素数个数,以及素数的综合

C语言

#include <stdio.h>
#include <math.h>
int main()
{
    int i,j;           //i是控制m,n的范围,j是从2到i的开方寻找
    int m,n;           //输入取值范围m,n
    int sum1,sum2;     //sum1代表素数的个数,sum2代表素数的和
    /*
     * 思想是判断素数;当然判断一个数不是素数要比判断一个数是素数容易,所以设起始素数变量为1
     * 如果不是素数就变为0
     * 还有一点要注意1不是素数,所以如果起始是1时,我们可以把它变成下一个数,即2
     */
    scanf("%d %d",&m,&n);
    if(m==1)
        m=2;
    for(i = m;i <= n; i++)
    {
        int isPrime = 1;
        for(j = 2;j <= sqrt(i); j++)
        {
            if(i%j==0)
            {
                isPrime = 0;
                break;
            }
        }
        if(isPrime)
        {
            sum1++;
            sum2+=i;
        }
    }
    printf("%d %d",sum1,sum2);
}

 

posted @ 2019-09-28 19:05  icesunbo  阅读(376)  评论(0编辑  收藏  举报