早教吧 育儿知识 作业答案 考试题库 百科 知识分享

编写程序验证歌德巴赫猜想:(1)任意一个大偶数都可以分解为两个素数之和。随机产生10个大于10的偶数进行验证,并对每个偶数输出分解结果。(2)任意一个大奇数都可以分解为三个素

题目详情
编写程序验证歌德巴赫猜想:
(1)任意一个大偶数都可以分解为两个素数之和。随机产生10个大于10的偶数进行验证,并对每个偶数输出分解结果。(2)任意一个大奇数都可以分解为三个素数之和。随机产生10个大于10的奇数进行验证,并对每个奇数输出分解结果。
▼优质解答
答案和解析
我以前写的,可以正常运行/*对于任何大于4的偶数均可以分解为两个素数之和*/
#include
#include
int prime(int n) //判断素数.是返回1.不是返回0;
{
int i,k=sqrt(n);
for(i=2;i<=k;i++)
{
if(n%i==0)
break;
}
if(i>k) return 1;
else return 0;
}
void main()
{
int i,a,b,n; //n作为标志位.
for(i=6;i<=2000;i+=2) //因为判断偶数.所以i的步长为2.奇数不判断.
{
for(a=2;a{
if(prime(a)) //先求出组成该偶数的第一个素数.
{
n=0; //对每个偶数的判断都将其初始化为0;
b=i-a; //第二个素数就等于该数减去第一个素数.
if(prime(b))
{
n=1; //d当该偶数的确是由两个素数组成,则将n置1;
break; //退出当前for(a)循环.
}
}
}
if(!n) //如果for(a)循环结束后,n的值还是0,说明该偶数不是由两个素数组成.
{
break; //就退出for(i)循环.
}}
if(n) //根据n的值,判断验证是否正确.
printf("is right!");
else
printf("is error");
}
看了 编写程序验证歌德巴赫猜想:(...的网友还看了以下:

我反对科学界普遍认为每个黑洞中都存在一个宇宙的说法!对于黑洞?宇宙是否无限大,我并不这样认为!我有  2020-05-17 …

算法和计算机计算机解决任何问题都要依赖于,只有将解决问题的过程分解为若干个,即,并用计算机能够接受  2020-06-20 …

有些五位数的各位数字均取自1、2、3、4、5,并且任意相邻两位有些五位数的各位数字均取自1、2、3  2020-07-01 …

任何一个正整数n都可以进行这样的分解:n=s×t(s、t是正整数,且s≤t),如果p×q在n的所有  2020-07-31 …

任意小于1的正数不断进行开平方为什么结果不断增大最后趋近于1?任意小于1的正数进行开平方,再对得到的  2020-11-06 …

任意输入n个数,找出其中最大数,并且输出最大数值.(请求高手详解每一步意思,尤其是a、b分别代表什么  2020-11-24 …

英语翻译纵观“SONNY'SBLUES"全文,我领悟到逃避并不能解决任何问题,唯有学会面对困难,学会  2020-12-01 …

哪位大师英语好的帮个忙!合同的终止和解除双方理解并同意,除非法律另有规定或双方另有约定,如遇以下任意  2020-12-07 …

阅读理解①班主任来自渔民家庭,对大海有着深厚的感情.他曾给我们讲了许多关于大海的故事,有一个至今让我  2020-12-29 …

2016年9月19日,国务院总理李克强在纽约出息第71届联大解决难民和移民大规模流动问题高级别会议并  2021-01-19 …