题目来源:大工慕课 链接 作者: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"); } }