P1304 哥德巴赫猜想-C语言
1、题目
2、解题过程
结果:
代码:
//洛谷 P1304 哥德巴赫猜想
#include <stdio.h>
//求质数
int prime(int a) {
int i;
if (a == 2) {
return 1;//表示是质数
}
for (i = 2; i < a; i++) {//辗转相除
if (a % i == 0) {
break;
}
}
if (i >= a) {
return 1;//表示是质数
}
else {
return 0;//表示不是质数
}
}
int main() {
int n;//输入的偶数N 4≤N≤10000
int i, j;
int temp;
//int flag=0;
int p_1, p_2;//用于接收是否为质数
scanf_s("%d", &n);//正偶数
for (i = 4; i <= n; i = i + 2) {//偶数
//flag = 0;
for (j = 2; j < i; j++) {
/*
if (flag == 1) {
break;
}*/
temp = i - j;
p_1 = prime(j);
p_2 = prime(temp);
if (p_1 == 1 && p_2 == 1) {//都是质数
if (i == n) {
printf("%d=%d+%d", i, j, temp);
}
else {
printf("%d=%d+%d\n", i, j, temp);
}
//flag = 1;
break;
}
}
}
return 0;
}