Một giả thuyết chưa được kiểm chứng của goldbach, mọi số chăn lớn hơn 2 đều có thể phấn tích thành tổng của hai số nguyên tố Hãy kiểm chứng giả thuyết này: Nhập vào số chẵn n, tìm hai số ngto a,b thỏa mãn a+b=n> Nếu có nhiều cặp số ngto có tổng = n hãy chỉ ra cặp a,b mà a<=b và a lớn nhất có thể Dùng file nha (GOLDBACH.*)
2 câu trả lời
const fi='goldbach.inp';
fo='goldbach.out';
var n,i,a,b:longint;
function checkprime(x:longint):boolean;
var dem:byte;
begin
for i:=2 to trunc(sqrt(n)) do if x mod i = 0 then exit(false) else exit(true);
end;
begin
assign(input,fi);
reset(input);
readln(n);
close(input);
assign(output,fo);
rewrite(output);
for a:=n div 2 downto 2 do
begin
if (checkprime(a)) then
begin
b:=n-a;
if (checkprime(a)) and (checkprime(b)) then
begin
write(a,' ',b);
break;
end;
end;
end;
close(output);
end.
uses crt;
var a,b,n,i,j:longint; d:text;
function nt(a:longint):boolean;
var i:longint;
begin
i:=2;
while(a>2)and(a mod i<>0)do inc(i);
nt:=i=a;
end;
begin
clrscr;
assign(d,'GOLDBACH.pas'); reset(d);
readln(d,n);
If n mod 2<>0 then writeln('Nhap lai') else
begin
for i:=1 to n do
for j:=1 to n do
if(nt(i))and(nt(j))and(i+j=n)then begin a:=i; b:=j; end;
writeln(a,'+',b,'=',n);
end;
close(d);
readln
end.
Đây là cách ngắn ,đơn giản nhất ,nếu các bạn thấy hay nhớ vote cho m nha