注册 登录
编程论坛 C语言论坛

使用函数求100以内的全部素数之问题

qq68677589 发布于 2019-12-05 18:45, 3535 次点击
/*使用函数求100以内的全部素数*/
#include<stdio.h>
#include<math.h>/*调用平方根函数,需要包含数学库*/
int prime(int m);/*定义函数*/
int main() {
    int count,m;
    count=0;
    for(m=2; m<=100; m++) {
        if(prime(m)!=0){/*调用prime(m)判断是否为素数*/
            printf("%6d",m);
            count++;
            if(count%10==0)
        }

    }
    printf("\n");
    return 0;
}
int prime(int m){/*定义判断素数的函数,如果m是素数返回1否则返回0*/
    int i,n;
    if(m==1)
    return 0;
    n=sqrt(m);
    for (i=2;i<=n;i++)
    if(m%i==0){
        return 0;
    }
    return 1;
}]

if(prime(m)!=0)这点没看懂,求高手解答,必将感激不尽!
不知道把问题解释清楚没有?代码做了部分解释。

[此贴子已经被作者于2019-12-5 20:00编辑过]

2 回复
#2
纯蓝之刃2019-12-05 20:01
当m除以2---sqt(m)之内的数,不能整除,就代表m是质数,返回1。也就是当m为质数时,prime(m)的值为1,不等于0,所以进入if选择语句,输出m的值。
#3
qq686775892019-12-05 20:02
回复 2楼 纯蓝之刃
感谢版主,我刚才为别人解答了一个问题,自己的问题就想清楚了!
1