用c语言写一个素数对
时间: 2024-11-09 11:25:36 浏览: 8
在C语言中,我们可以编写一个简单的程序来找到一定范围内的所有素数对。下面是一个基本的例子,它会找出从2到用户输入的最大值之间的所有素数对:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
void find_prime_pairs(int limit) {
int start = 2;
for (int i = start; i < limit; i++) {
if (is_prime(i)) {
for (int j = i + 2; j <= limit; j += 2) { // 只检查奇数,因为偶数除了2外都不是素数
if (is_prime(j)) {
printf("(%d, %d)\n", i, j);
}
}
}
}
}
int main() {
int max_num;
printf("Enter the maximum number to search for prime pairs: ");
scanf("%d", &max_num);
if (max_num <= 1) {
printf("Please enter a larger number.\n");
} else {
find_prime_pairs(max_num);
}
return 0;
}
```
这个程序首先判断每个数字是否为素数,然后在找到一个素数后只检查其后的奇数,直到达到给定的上限。如果找到一对素数,就打印出来。
阅读全文