请编程实现利用函数求解闭区间[m, n]之间的双质数,其中m和n均为正整数且m < n。c语言
时间: 2024-05-07 11:20:43 浏览: 12
以下是使用函数求解闭区间[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) {
if (m <= 0 || n <= 0 || m >= n) {
printf("Invalid input.\n");
return;
}
for (int i = m; i <= n-2; i++) {
if (is_prime(i) && is_prime(i+2)) {
printf("(%d, %d) ", i, i+2);
}
}
printf("\n");
}
int main() {
int m, n;
printf("Enter the range [m, n]: ");
scanf("%d %d", &m, &n);
find_twin_primes(m, n);
return 0;
}
```
代码中的 `is_prime` 函数用于判断一个数是否为质数,如果是质数则返回1,否则返回0。`find_twin_primes` 函数用于找出闭区间 `[m, n]` 中的所有双质数,并将它们输出到控制台上。在 `main` 函数中,我们通过用户输入来获取区间的范围,并调用 `find_twin_primes` 函数来求解出这个区间中的双质数。