1 题目
一个偶数总能表示为两个素数之和。
2 分析
暴力法,循环判断 i
和 n-i
两个数是否都为素数。
3 实现
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int isPrime(int n)
{
if(n < 2) {
return 0;
}
for(int i = 2; i <= sqrt(n); i++) {
if(n % i == 0) {
return 0;
}
}
return 1;
}
int main()
{
int n;
int i;
printf("请输入一个偶数:");
scanf("%d",&n);
for (i = 1; i < n; i++) {
if (isPrime(i) && isPrime(n-i)) {
break;
}
}
printf("偶数%d可以分解成%d和%d两个素数的和:", n, i, n-i);
return 0;
}