C语言:判断一个数是否为素数
题目来源:大工慕课 链接
作者:Caleb Sung
注意事项
判断一个数是否为质数,首先我们需要知道质数的定义:对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数 。
解答示范
此处特别感谢@qq_41990044网友的指正。
#include<stdio.h>
int main() {
int i, j;
printf("请输入一个正整数。\n");
scanf("%d", &i);
if (i < 2)
printf("小于2,请重新输入。\n");
else if (i % 2 == 0)
printf("%d不是一个素数。\n", i);
else {
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
printf("%d不是一个素数。\n", i);
break;
}
if (j > i / 2){
printf("%d是一个素数。\n", i);
break;
}
}
}
}
另一套参考代码,功能也是用于判断数字是否为素数,只不过返回规范不符合要求,大家可以参考一下:
#include <stdio.h>
int main(){
int a = 0;
int num = 0;
scanf("%d", &num);
for (int i=2; i<num-1;i++){
if (num % i == 0){
a++;
}
}
if (a==0){
printf("YES\n");
}else{
printf("NO\n");
}
}
还没有评论,来说两句吧...