C语言判断素数:辗转相除法详解及代码实现
辗转相除法是一种判定一个数是否为素数的方法,其基本思想是通过除法运算来判断一个数是否可以被其他数整除。
具体步骤如下:
- 输入一个大于 3 的整数 n。
- 从 2 开始,依次判断 n 是否能被 2 到 n-1 之间的数整除。
- 如果存在一个数能整除 n,则 n 不是素数,输出 '不是素数'。
- 如果不存在能整除 n 的数,则 n 是素数,输出 '是素数'。
以下是使用辗转相除法判断一个数是否为素数的 C 语言代码实现:
#include <stdio.h>
int main() {
int n, i;
int isPrime = 1; // 初始化为素数
printf("请输入一个大于 3 的整数: ");
scanf("%d", &n);
for (i = 2; i < n; i++) {
if (n % i == 0) {
isPrime = 0; // 不是素数
break;
}
}
if (isPrime) {
printf("%d 是素数\n", n);
} else {
printf("%d 不是素数\n", n);
}
return 0;
}
在以上代码中,使用一个变量 isPrime 来记录是否为素数。初始值设置为 1,即默认为素数。
然后通过一个 for 循环从 2 开始,依次判断 n 是否能被 2 到 n-1 之间的数整除。如果存在能整除 n 的数,则将 isPrime 设置为 0,并使用 break 跳出循环。
最后根据 isPrime 的值判断 n 是否为素数,并输出结果。
原文地址: https://www.cveoy.top/t/topic/fY2i 著作权归作者所有。请勿转载和采集!