所谓“双质数”是指对于两个质数p和q,如果满足p = q + 2,则p和q为双质数。请编程实现利用函数求解闭区间[m, n]之间的双质数,其中m和n均为正整数且m < n,c语言实现
时间: 2024-05-22 18:15:50 浏览: 124
求质数问题的c语言实现
#include <stdio.h>
#include <math.h>
int is_prime(int num) { // 判断一个数是否为质数
int i;
if (num < 2) return 0; // 0和1不是质数
for (i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n, i;
scanf("%d %d", &m, &n);
for (i = m; i <= n; i++) {
if (is_prime(i) && is_prime(i * 2 + 1)) { // 判断i和2i+1是否都为质数
printf("%d %d\n", i, i * 2 + 1);
}
}
return 0;
}
阅读全文