所谓“双质数”是指对于两个质数p和q,如果满足p = q + 2,则p和q为双质数。请编程实现利用函数求解闭区间[m, n]之间的双质数,其中m和n均为正整数且m < nC语言。
时间: 2024-03-24 07:38:47 浏览: 165
以下是一个简单的C语言程序,用于查找闭区间[m, n]之间的双质数:
```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;
}
// 查找闭区间[m, n]之间的双质数
void find_twin_primes(int m, int n) {
for (int i = m; i <= n - 2; i++) {
if (is_prime(i) && is_prime(i + 2)) {
printf("%d, %d\n", i, i + 2);
}
}
}
int main() {
int m, n;
printf("请输入两个正整数m和n(m < n): ");
scanf("%d%d", &m, &n);
printf("闭区间[%d, %d]之间的双质数为:\n", m, n);
find_twin_primes(m, n);
return 0;
}
```
程序中,我们定义了一个 `is_prime` 函数,用于判断一个数是否为质数。接着,我们定义了一个 `find_twin_primes` 函数,用于查找闭区间[m, n]之间的双质数。最后,在主函数中,我们读入用户输入的正整数m和n,并输出闭区间[m, n]之间的双质数。
阅读全文