验证哥德巴赫猜想,每个大于等于4的偶数都可以表示成2个素数之和。
1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include<stdio.h> 4 #include<stdlib.h> 5 6 int isou(int num)//1代表偶数,0代表奇数 7 { 8 if (num % 2 == 0) 9 { 10 return 1; 11 } 12 else 13 { 14 return 0; 15 } 16 } 17 18 int sushu(int num)//1代表质数,0代表非质数 19 { 20 int i; 21 int flag = 1; 22 23 if (num <= 1)//最小的质数是2 24 { 25 flag = 0; 26 } 27 else 28 { 29 for (i = 2;i < num;i++) 30 { 31 if (num%i == 0) 32 { 33 flag = 0; 34 break; 35 } 36 } 37 } 38 39 return flag; 40 } 41 42 main() 43 { 44 int num; 45 int i; 46 47 scanf("%d", &num); 48 49 printf("num=%d\n", num); 50 51 if (isou(num) == 0) 52 { 53 printf("你输入的不是偶数"); 54 } 55 else 56 { 57 if (num == 2) 58 { 59 printf("你输入的偶数太少"); 60 } 61 else 62 { 63 for (i = 2;i < num;i++) 64 { 65 if (sushu(i) == 1 && sushu(num - i) == 1)//判断两个数是否都是素数 66 { 67 printf("%d=%d+%d", num, i, num - i); 68 break; 69 } 70 } 71 } 72 } 73 74 system("pause"); 75 }
时间: 2024-10-14 00:03:24