#include <stdio.h>
//関数のプロトタイプ宣言
//ここ↓を埋めてね1
void goldbach(int n);
void print(int a,int b);
int prime(int n);
//main関数
int main(void){
int a;
goldbach(a);
return 0;
}
// ゴールドバッハ予想
void goldbach(int n){
//ここを埋めてね2
for(int x=2;x<=n/2;x++){
if(prime(x)==1&&prime(n-x)==1){
print(x,n-x);
}
}
}
//結果表示
void print(int a, int b){
//ここ↓を埋めてね3
static int count=1;
printf("%2d: %d = %d + %d\n", count
, a
+b
, a
,b
); count++;
}
//素数判定
int prime(int n){
int i;
int sosuu = 1;
for(i=2; i<n; i++){
if(n%i==0){
sosuu = 0;
break;
}
}
return sosuu;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Ci8v6Zai5pWw44Gu44OX44Ot44OI44K/44Kk44OX5a6j6KiACi8v44GT44GT4oaT44KS5Z+L44KB44Gm44GtMQp2b2lkIGdvbGRiYWNoKGludCBuKTsKdm9pZCBwcmludChpbnQgYSxpbnQgYik7CmludCBwcmltZShpbnQgbik7CgovL21haW7plqLmlbAKaW50IG1haW4odm9pZCl7CiAgICBpbnQgYTsKICAgIAogICAgc2NhbmYoIiVkIiwgJmEpOwogICAgZ29sZGJhY2goYSk7ICAgIAoKICAgIHJldHVybiAwOwp9CgovLyDjgrTjg7zjg6vjg4njg5Djg4Pjg4/kuojmg7MKdm9pZCBnb2xkYmFjaChpbnQgbil7CgkvL+OBk+OBk+OCkuWfi+OCgeOBpuOBrTIKCWZvcihpbnQgeD0yO3g8PW4vMjt4KyspewoJCWlmKHByaW1lKHgpPT0xJiZwcmltZShuLXgpPT0xKXsKCQkJcHJpbnQoeCxuLXgpOwoJCX0KCX0KCQoJCgkKfQoKLy/ntZDmnpzooajnpLoKdm9pZCBwcmludChpbnQgYSwgaW50IGIpewoJLy/jgZPjgZPihpPjgpLln4vjgoHjgabjga0zCglzdGF0aWMgaW50IGNvdW50PTE7CgkKICAgIHByaW50ZigiJTJkOiAlZCA9ICVkICsgJWRcbiIsIGNvdW50LCBhK2IsIGEsYik7CiAgICBjb3VudCsrOwp9CgovL+e0oOaVsOWIpOWumgppbnQgcHJpbWUoaW50IG4pewogICAgaW50IGk7CiAgICBpbnQgc29zdXUgPSAxOwogICAgCiAgICBmb3IoaT0yOyBpPG47IGkrKyl7CiAgICAgICAgaWYobiVpPT0wKXsKICAgICAgICAgICAgc29zdXUgPSAwOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gc29zdXU7Cn0=