1.设立一个判断素数的标志flag=0,若为素数则赋值为1,最后根据flag的值判断是否为素数
#include <stdio.h>
#include <math.h>
int main() {
int x, i;
int flag = 0;
scanf("%d", &x);
for (i = 2; i <= sqrt(x); i++) {
if (x % i == 0) {
flag = 1; /*设立一个判断标志,若不是素数则为1*/
printf("%d is not a prime number\n",x);
break;
}
}
if (flag == 0) {
printf("%d is a prime number\n",x);
}
return 0;
}
2.满足x%i==0则跳出。若i<=k则说明存在i能够整除x,若i>k说明遍历i=2至i=k过程中没有i能整除x
#include <stdio.h>
#include <math.h>
int main() {
int x, i, k;
scanf("%d", &x);
k = sqrt(x);
for (i = 2; i <= k; i++) {
if (x % i == 0)
break;
}
if (i > k)
printf("%d is a prime number\n", x);
else
printf("%d is not a prime number\n", x);
return 0;
}