回 帖 发 新 帖 刷新版面

主题:边个甘聪明帮下我???

输入一个大于4的偶数,它可以分成两个素数的和???如果满足条件,输出N=I+J的形式。如果不存在,输出‘NO’,谢谢!!![em10][em41]

回复列表 (共4个回复)

沙发

哥德巴赫猜想:对任一充分大的偶数n,可以找到两个素数p,q.使得n=p+q.
这里只是对有限范围内的数,用计算机加以验证,不算严格证明.
program zhs (input,output);
  var
    i,n,p,q:integer;
    flagp,flagq:boolean;
  begin
    read(n);
    p:=1;
    repeat
      p:=p+1;
      q:=n-p;
      flagp:=true;
      for i:=2 to round(sqrt(p)) do
        if p mod i = 0
          then flagp:=false;
      flagq:=true;
      for i:=2 to round(sqrt(q)) do
        if q mod i = 0
          then flagq:=false
    until flagp and flagq;
    writeln(n,'=',p,'+',q)
  end.
你的题目是不是有点问题呀?对于一个大于4的偶数总可以找到两个素数之和,不会有不存在的.所以不存在输出'NO'也就不要做了.如果题目就是这样,那你自己再加吧.

板凳

但系好似不行啊???

3 楼

题目讲要把这个猜想证明

4 楼

我上机通过了.你怎么不行呀?你输入几了?

我来回复

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