找回密码
 注册会员
查看: 676|回复: 0

C++编程问题2

[复制链接]
发表于 2010-3-27 15:06:41 | 显示全部楼层 |阅读模式
<p>C++编程问题2</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:0 -</p>
<p>解决时间:2010-3-27 15:03</p>
<p>验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为2个素数之和。例如:6=3+3,8=3+5,…,18=5+13。要求将6-100之间的偶数都表示为2个素数之和,输出时一行输出5组。</p>
<p>提问者: wu19874315 - 四级</p>
<p>最佳答案</p>
<p>C++学的不多,代码格式和变量命名格式不要见笑啊,另外判断是否是质数的方法是最烦的,没进过优化的,你可以自己试着优化一下。</p>
<p>有什么不明白的百度在Hi我就行了。</p>
<p>一下是C++代码:</p>
<p>#include<iostream></p>
<p>#include<iomanip></p>
<p>using namespace std;</p>
<p>int Is_zhishu(int n);</p>
<p>int main()</p>
<p>{</p>
<p>int num = 6;</p>
<p>int n = 0;</p>
<p>for(num;num <= 100; num+=2)</p>
<p>{</p>
<p>for(int first_num = 3;first_num <= num/2; first_num+=2)</p>
<p>{</p>
<p>if(Is_zhishu(first_num) && Is_zhishu(num - first_num))</p>
<p>{</p>
<p>n++;</p>
<p>cout<< setw(3)<< num << "=" <<  setw(2)<< first_num << "+" << setw(2)<< (num - first_num) << "  ";</p>
<p>if(n%5 == 0)</p>
<p>cout << endl;</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>return 0;</p>
<p>}</p>
<p>int Is_zhishu(int n)</p>
<p>{</p>
<p>if(n <= 1)</p>
<p>return 0;</p>
<p>for(int a = 2;a*a<=n;a++)</p>
<p>{</p>
<p>if(n == (n/a)*a)</p>
<p>return 0;</p>
<p>}</p>
<p>return 1;</p>
<p>}</p>
<p>0</p>
<p>回答者:</p>
<p>南贤亮jamie - 五级   2010-3-27 11:02</p>
<p>我来评论>></p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-7-29 19:02

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表