用C语言每行输出一对双质数
时间: 2024-10-21 22:02:39 浏览: 22
在C语言中,我们可以创建一个函数来检查是否是质数,然后遍历并打印出所有小于指定范围内的成对的质数。因为质数定义为大于1的自然数,除了1和它自身以外不再有其他因数,所以寻找一对双质数意味着找到两个连续的质数。由于每个偶数都不是质数(除了2),所以我们通常从3开始查找。
下面是一个简单的示例程序,用于找出小于100的前两对质数:
```c
#include <stdio.h>
// 判断一个数是否为质数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
void print_palindrome_pairs(int limit) {
int current_num = 3; // 质数序列从3开始
while (current_num + 2 < limit) { // 避免越界,寻找小于limit的下一个质数
if (is_prime(current_num) && is_prime(current_num + 2)) {
printf("%d and %d\n", current_num, current_num + 2);
current_num += 4; // 因为奇数+奇数=偶数,下一次尝试的数需要加4
} else {
current_num++;
}
}
}
int main() {
int max_pair = 50; // 示例中找出小于50的双质数对
print_palindrome_pairs(max_pair);
return 0;
}
```
当你运行这个程序时,它会在控制台输出小于50的一对双质数,如(3, 5), (5, 7), 等等。
阅读全文