C使用遍历判断一个数是否为素数并给出所有因数
#include <stdio.h>
#include <stdbool.h>
int main() {
unsigned long num;
unsigned long div;
bool isPrime;
printf("请输入一个 >=1 的数字:(q to quit)\n");
while (scanf("%lu", &num) == 1) {
printf("%lu = 1 * %lu。\n", num, num);
for (div = 2, isPrime = true; (div * div) <= num; div++) {
if (num % div == 0) {
if ((div*div) != num)
printf("%lu = %lu * %lu。\n", num, div, num / div);
else
printf("%lu = %lu^2。\n", num, div);
isPrime = false;
}
}
if (isPrime && (num != 1))
printf("%lu 是素数。\n", num);
else
printf("%lu 不是素数。\n", num);
printf("请输入下一个 >=1 的数(q to quit):\n");
}
printf("拜拜:)\n");
return 0;
}