哥德巴赫猜想中写到,一个充分大的偶数(大于等于6),它可以分解为两个素数(质数)的和。请将输入的偶数n ,分解为两个素数的所有可能打印出来。 素数就是只能被1和自身整除的正整数

例如:

8 = 3 + 5.

20 = 3 + 17  20 = 7 + 13. 

42 = 5 + 37  42= 11 + 31  42= 13 + 29  42= 19 + 23

 1 #include <stdio.h>
 2 int sushu(int a)        //用sushu(a)判断a是否为素数
 3 {
 4     int i;
 5     int t=1;
 6     for(i=2;i<a;i++)
 7         if(a%i==0)
 8         {
 9             t=0;
10             break;
11         }
12     return t;
13 }
14 
15 int main()
16 {
17     int n,a,b;
18     scanf("%d",&n);
19     for(a=2;a<(n/2);a++)    //找到一个数字a
20     {
21         b=n-a;
22         if(sushu(a)&&sushu(b))    //若a和n-a是素数
23             printf("%d=%d+%d ",n,a,n-a);
24     
25     }
26     printf("\n");
27     return 0;
28 }

猜你喜欢

转载自www.cnblogs.com/ydhnh010424/p/12625640.html
今日推荐