C语言所谓“双质数”是指对于两个质数p和q,如果满足p = q + 2,则p和q为双质数。请编程实现利用函数求解闭区间[m, n]之间的双质数,其中m和n均为正整数且m < n。
时间: 2024-02-27 15:56:38 浏览: 177
以下是利用函数求解闭区间[m, n]之间的双质数的C语言代码:
```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 find_twin_primes(int m, int n) { // 寻找闭区间[m, n]之间的双质数
for (int p = m; p <= n - 2; p++) {
if (is_prime(p) && is_prime(p + 2)) {
printf("(%d, %d)\n", p, p + 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]之间的双质数。在`main`函数中,读入m和n,并调用`find_twin_primes`函数来输出闭区间[m, n]之间的双质数。
阅读全文