把一个偶数输出为两个素数之和,C语言
时间: 2024-06-01 11:12:26 浏览: 90
任意输入一个偶数n(n>4),请将它分解为两个素数之和。
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int num){
if(num == 2) return true;
if(num < 2 || num % 2 == 0) return false;
for(int i = 3; i * i <= num; i += 2){
if(num % i == 0) return false;
}
return true;
}
int main(){
int n;
printf("请输入一个偶数:");
scanf("%d", &n);
if(n < 4 || n % 2 != 0){
printf("输入有误!\n");
return 0;
}
for(int i = 2; i <= n / 2; i++){
if(isPrime(i) && isPrime(n - i)){
printf("%d = %d + %d\n", n, i, n - i);
break;
}
}
return 0;
}
阅读全文