fork download
  1. #include <stdio.h>
  2. //関数のプロトタイプ宣言
  3. //ここ↓を埋めてね1
  4. void goldbach(int n);
  5. void print(int a,int b);
  6. int prime(int n);
  7.  
  8. //main関数
  9. int main(void){
  10. int a;
  11.  
  12. scanf("%d", &a);
  13. goldbach(a);
  14.  
  15. return 0;
  16. }
  17.  
  18. // ゴールドバッハ予想
  19. void goldbach(int n){
  20. //ここを埋めてね2
  21. for(int x=2;x<=n/2;x++){
  22. if(prime(x)==1&&prime(n-x)==1){
  23. print(x,n-x);
  24. }
  25. }
  26.  
  27.  
  28.  
  29. }
  30.  
  31. //結果表示
  32. void print(int a, int b){
  33. //ここ↓を埋めてね3
  34. static int count=1;
  35.  
  36. printf("%2d: %d = %d + %d\n", count, a+b, a,b);
  37. count++;
  38. }
  39.  
  40. //素数判定
  41. int prime(int n){
  42. int i;
  43. int sosuu = 1;
  44.  
  45. for(i=2; i<n; i++){
  46. if(n%i==0){
  47. sosuu = 0;
  48. break;
  49. }
  50. }
  51. return sosuu;
  52. }
Success #stdin #stdout 0.01s 5320KB
stdin
24
stdout
 1: 24 = 5 + 19
 2: 24 = 7 + 17
 3: 24 = 11 + 13