pascal编程:哥德巴赫猜想(升级版)1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 14:17:37
![pascal编程:哥德巴赫猜想(升级版)1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有](/uploads/image/z/14597081-17-1.jpg?t=pascal%E7%BC%96%E7%A8%8B%EF%BC%9A%E5%93%A5%E5%BE%B7%E5%B7%B4%E8%B5%AB%E7%8C%9C%E6%83%B3%EF%BC%88%E5%8D%87%E7%BA%A7%E7%89%88%EF%BC%891742%E5%B9%B46%E6%9C%887%E6%97%A5%E5%93%A5%E5%BE%B7%E5%B7%B4%E8%B5%AB%E5%86%99%E4%BF%A1%E7%BB%99%E5%BD%93%E6%97%B6%E7%9A%84%E5%A4%A7%E6%95%B0%E5%AD%A6%E5%AE%B6%E6%AC%A7%E6%8B%89%2C%E6%AD%A3%E5%BC%8F%E6%8F%90%E5%87%BA%E4%BA%86%E4%BB%A5%E4%B8%8B%E7%9A%84%E7%8C%9C%E6%83%B3%EF%BC%9A%E4%BB%BB%E4%BD%95%E4%B8%80%E4%B8%AA%E5%A4%A7%E4%BA%8E9%E7%9A%84%E5%A5%87%E6%95%B0%E9%83%BD%E5%8F%AF%E4%BB%A5%E8%A1%A8%E7%A4%BA%E6%88%903%E4%B8%AA%E8%B4%A8%E6%95%B0%E4%B9%8B%E5%92%8C.%E8%B4%A8%E6%95%B0%E6%98%AF%E6%8C%87%E9%99%A4%E4%BA%861%E5%92%8C%E6%9C%AC%E8%BA%AB%E4%B9%8B%E5%A4%96%E6%B2%A1%E6%9C%89)
pascal编程:哥德巴赫猜想(升级版)1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有
pascal编程:哥德巴赫猜想(升级版)
1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3.需要特别说明的是1不是质数.
这就是哥德巴赫猜想.欧拉在回信中说,他相信这个猜想是正确的,但他不能证明.
从此,这道数学难题引起了几乎所有数学家的注意.哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的“明珠”.
现在请你编一个程序验证哥德巴赫猜想.
先给出一个奇数n,要求输出3个质数,这3个质数之和等于输入的奇数.
输入格式
仅有一行,包含一个正奇数n,其中9
pascal编程:哥德巴赫猜想(升级版)1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有
由于“n大于9并且小于10000”,用朴素算法应该也不会超时.
这里提供一种优化的算法:
先构造2~10000以内的质数表,并除去其中的2,就能得到3~10000以内的奇质数表;
令 i 从 3开始循环(这是外循环),j 从3开始循环(这是内循环),然后判断(n-i-j)是不是质数,如果是,就 writeln(i,' ',j,' 'n-i-j).
完整代码如下:
program Goldbach;
var prime:array[2..10000]of boolean;
i,j,n:longint;
begin
readln(n);
for i:=2 to trunc(sqrt(n)) do
if not prime[i] then
begin
for j:=2 to n div i do
prime[i*j]:=true;
end;
for i:=3 to n do
if not prime[i] then
for j:=3 to n do
if not prime[j] then
if not prime[n-i-j] then
begin
writeln(i,' ',j,' ',n-i-j);
exit;
end;
end.
真的不长吧?最大的数9999也不用1秒.
筛法求素数是一个很常用的算法,请LZ一定要掌握.
祝学习进步.
我不会 这个语言,所以帮你百度上找到的,如果c语言,还行
http://zhidao.baidu.com/question/553416068.html 来源