C 实战练习题目84

题目:一个偶数总能表示为两个素数之和。

程序分析:我去,这是什么题目,要我证明这个问题吗?真不知道怎么证明。那就把一个偶数分解成两个素数吧。

实例:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int Isprimer(unsigned int n);
 4 int main()
 5 {
 6     unsigned int n,i;
 7     do{
 8         printf("请输入一个偶数:\n");
 9         scanf("%d",&n);
10     }while(n%2!=0);
11     for(i=1;i<n;i++)
12         if(Isprimer(i)&&Isprimer(n-i))
13             break;
14     printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i);
15     
16     return 0;
17 }
18 int Isprimer(unsigned int n)
19 {
20     int i;
21     if(n<4)return 1;
22     else if(n%2==0)return 0;
23     else
24         for(i=3;i<sqrt(n)+1;i++)
25             if(n%i==0)return 0;
26     
27     return 1;
28 }

以上实例运行输出结果为:

请输入一个偶数:
4
偶数4可以分解成1和3两个素数的和

感谢你的阅读,请用心感悟!希望可以帮到爱学习的你!!分享也是一种快乐!!!请接力。。。

点击查看原文,谢谢!

posted @ 2020-08-11 15:26  C语言自学网  阅读(151)  评论(0编辑  收藏  举报