C语言中怎么判断素数

如题所述

首先分析需求,素数是指
除了1和它本身以外,不能被任何数整除的数。例如:1,3,5,7,11,13.。。。。。。。
例如输入一个数m,判断m是否是素数。我们可以用
m向小于m大于1的所有整数求余。如果有一个值是等于0,那么,就能证明这个数是素数。
m
%(2...(m-1))
==
0。
当然,更好的算法是
m

(小于或等于
m的中位数)
(大于1)
的所以数求余。
m%(2...(m/2))
==
0
如果你只想求实际代码,当我没说过。因为我这只是提供一个思路。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-17
#include<stdio.h>
int
isZhishu(int
num){
int
i,count=0;
for(i=1;i<=num;i++){
if(num%i==0){
count++;
}
}
if(count<=2){
return
1;
}else{
return
0;
}
}
void
main(){
int
n;
printf("请输zd入专n:");
scanf("%d",&n);
while(n<2){
if(n>=2){
break;
}
printf("请输入一个大于等于2的数!属");
printf("\n\n");
printf("请输入n:");
scanf("%d",&n);
}
if(isZhishu(n)==1){
printf("数字%d是质数!",n);
}else{
printf("数字%d不是质数!",n);
}
}
第2个回答  2020-02-19