Bài 2: Các thành phần của ngôn ngữ lập trình

0o0 Nhok kawaii 0o0

1/ Theo giả thuyết Golbach. Mọi số tự nhiên chẵn lớn hơn 2 là tổng của 2 số nguyên tố. Cho số tự nhiên N ( với N< 2147483648), hãy kiểm tra giả thuyết Golbach bằng cách liệt kê tất cả các cách phân tích N thành tổng 2 số nguyên tố

Minh Lệ
25 tháng 2 2020 lúc 13:53

Program hotrotinhoc;

var i1,i,n: longint;

function nt(x: longint): boolean;

var j: longint;

begin

nt:=true;

if (x=2) or (x=3) then exit;

nt:=false;

if (x=1) or (x mod 2=0) or (x mod 3=0) then exit;

j:=5;

while j<=trunc(sqrt(x)) do

begin

if (x mod j=0) or (x mod (j+2)=0) then exit;

j:=j+6;

end;

nt:=true;

end;

begin

readln(n);

if (n mod 2<>0) or (n<=2) then write('Khong the phan tich') else

begin

for i:=1 to n do

for i1:=i to n do

if (i+i1=n) and nt(i) and nt(i1) then writeln('N=',i,'+',i1);

end;

readln

end.

Bình luận (0)
 Khách vãng lai đã xóa
Nguyễn Lê Phước Thịnh
26 tháng 2 2020 lúc 9:11

uses crt;
var n,i,j,a,b,kt1,kt2,kt,k:longint;
begin
clrscr;
write('nhap n='); readln(n);
if n mod 2=1 then begin
a:=2;
b:=n-a;
kt:=0;
for k:=2 to trunc(sqrt(b)) do
if b mod k=0 then kt:=1;
if kt=0 then writeln(n,'=',a,'+',b)
else write(n,' khong the phan tich thanh tong nguyen to');
end;
if n mod 2=0 then begin
for i:=2 to n div 2 do
begin
a:=i;
b:=n-i;
kt1:=0;
kt2:=0;
for j:=2 to trunc(sqrt(a)) do
if a mod j=0 then kt1:=1;
for j:=2 to trunc(sqrt(b)) do
if b mod j=0 then kt2:=1;
if (kt1=0) and (kt2=0) then writeln(n,'=',a,'+',b);
end;
end;
readln;
end.

Bình luận (0)
 Khách vãng lai đã xóa

Các câu hỏi tương tự
Quang Nguyen
Xem chi tiết
Không Tên
Xem chi tiết
Information Technology S...
Xem chi tiết
0o0 Nhok kawaii 0o0
Xem chi tiết
0o0 Nhok kawaii 0o0
Xem chi tiết
Anh Như
Xem chi tiết
0o0 Nhok kawaii 0o0
Xem chi tiết
Shino Asada
Xem chi tiết
Trần Uyên
Xem chi tiết