C语言求答!设计一个函数,用来判断一个整数是否为素数?求大神帮助

提示:只能被1和其本身整除的数为素数,负数,0,1都不是素数。

#include <stdio.h>
#include <math.h>
//判断整数是否为素数
int isPrime(int n)
{
    int i;
    for(i=2;i<=(int)sqrt(n);i++) //遍历从2~n的平方根向下取整
        if(n%i == 0)  //如果有i能被n整除,则n不是素数,返回0,否则返回1
            return 0;
    return 1;
}
//编写测试主函数
int main()
{
    int n;
    scanf("%d",&n);
    if(n<2)
    {
        printf("输入错误!\n");
        return -1;
    }
    if(isPrime(n))  //调用素数判断函数
        printf("%d is a prime number\n",n);
    else
        printf("%d is not a prime number\n",n);
    return 0;
}

示例运行结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-04
#include<stdio.h> #include<math.h> main() { int n,j,found; printf("输入一个数:"); scanf("%d",&n); found=1; for(j=2;j<=sqrt(n)&&found;j?1:2) if(n%j==0) found=0; if(found==0) printf("%d不是素数\n",n); else printf("%d是素数\n",n); }本回答被提问者采纳
第2个回答  2014-10-04
int isP(int m) { int i=0; if(i<=1) return 0; for(i=2;i<=m/2;i++) if(m%i==0) break; if(i>=m/2) return 1; else return 0; }
相似回答