回 帖 发 新 帖 刷新版面

主题:Gabol

编一程序验证哥德巴郝猜想:
  (从longint的范围中验证:只须找到一个方案)
    如果找得到便将其打印
    否则便打印‘No’;

回复列表 (共5个回复)

沙发

[哥德巴赫猜想]:
德国数学家哥德巴赫喜欢研究数字的规律,他发现:可以把偶数拆成两个奇素数的和;而把一个奇数拆成三个奇数的和时,其中至少有一组是三个奇素数。
比如:
6=3+3,10=5+5=3+7,16=11+5=3+13,
31=3+11+17,45=5+17+23.
究竟这是一条普遍的规律,还是有例外?后来把这个问题以猜想的形式公诸于世:
(1)每个>=6的偶数都可表示成两个奇素数的和;
(2)每个>=9的奇数都可表示成三个奇素数的和。
这就是著名的哥德巴赫猜想。
想一想可以发现,如果(1)成立,则(2)必成立,所以命题(1)是最本质的,因此人们常把它简称为"1+1"

板凳

program lt;
var n,i,j,bj:integer;
    n:longint;
function zhishu(k:itneger):itneger;
var l,m:itneger;
begin
  l:=trunc(sqrt(k));
  zhishu:=0;
  for m:=2 to l do
  if k mod m=0 then
  begin
    zhishu:=1;
    m:=l;
  end;
end;
begin
  bj:=0;
  for n:=6 to 2147483647 do
  if not(odd(n)) then
  for i:=2 to n-2 do
  begin
    j:=n-i;
    if zhishu(i)=0 then
    if zhishu(j)=0 then
    begin
      writeln(n,'=',i,'+',j);
      bj:=1;
      i:=n-2;
    end;
  end;
  if bj=0 then writeln('NO');
end.

3 楼

好帖,顶

4 楼

哥德巴赫是俄罗斯的!!
泡泡我是希望啊

5 楼

我是这样写的:
program gede;
var
i,m,n:integer;
function f(i:integer):boolean;
begin
{一个判断质数的函数}
end;

begin
readln(n);
   if (n<4) or (n mod 2<>0) then begin
       writeln('输入错误!!!');
       halt;
    end;
  for i:=2 to n do
    begin
      if (i mod 2=0) then
        if f(i) then begin
           m:=n-i;
          if f(m) then begin writeln(n,'=',m,'+',i);
                             halt;
                        end;
    end;
end.
{本人也好交朋友,有什么问题跟我一起来讨论把。345420812 is MY QQ}

我来回复

您尚未登录,请登录后再回复。点此登录或注册