试除法判定质数 c语言
时间: 2024-11-03 17:08:16 浏览: 29
素数的两种求法C语言.c
试除法是一种简单的判断一个较大整数是否为质数的传统算法。它的基本思想是,如果一个大于1的自然数n能被小于它的任何数整除(除了1和它本身),那么这个数就不是质数。在C语言中,可以编写一个函数来实现这个过程:
```c
#include <stdio.h>
// 判断一个数是否为质数的函数
int isPrime(int n) {
if (n <= 1) {
return 0; // 1和所有负数都不是质数
}
for (int i = 2; i * i <= n; i++) { // 只需检查到√n即可,因为因子成对存在
if (n % i == 0) {
return 0; // 如果找到因子,说明n不是质数
}
}
return 1; // 没有找到因子,n可能是质数
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是质数。\n", num);
} else {
printf("%d不是质数。\n", num);
}
return 0;
}
```
在这个程序中,用户输入一个整数,`isPrime()`函数会使用试除法检测该数字是否为质数。如果能在2到√n的范围内找到能整除该数的i,那么就是合数,否则它是质数。
阅读全文