Cặp số nguyên tố tổng bằng N

1,645 views
Skip to first unread message

tienph...@gmail.com

unread,
Feb 22, 2013, 10:27:05 PM2/22/13
to thcsthait...@googlegroups.com

Biết rằng: “Mọi số tự nhiên chẵn lớn hơn 2 đều viết được dưới dạng tổng của 2 số nguyên tố”.

Viết chương trình đọc vào một số chẵn N lớn hơn 2, hãy tìm cặp số nguyên tố có tổng bằng N, nếu có nhiều cặp như vậy thì hãy tìm cặp có chứa số nguyên tố nhỏ nhất.

Dữ liệu: Vào từ file văn bản PRIME.INP gồm 1 dòng chứa số chẵn N(4 ≤ N ≤ 998)

Kết quả: Ghi ra file văn bản PRIME.OUT chứa hai số nguyên tố có tổng bằng N, số đầu tiên là số nguyên tố nhỏ nhất (hai số này cách nhau bởi dấu cách).

Ví dụ:

Test

PRIME.INP

PRIME.OUT

1

6

3 3

2

992

73 919

tienph...@gmail.com

unread,
Feb 22, 2013, 10:27:56 PM2/22/13
to thcsthait...@googlegroups.com, tienph...@gmail.com
var
x,N:integer;
function prime(x:integer):boolean;
var
        n:integer;
        begin
                 n:=2;
                 if x=2 then prime:=true
                 else
                    begin
                    while (x mod n<>0) and (n<=sqrt(x)) do
                        n:=n+1;
                        prime:=n>sqrt(x);
                    end;
        end;

procedure input(var N:integer);
var f:text;
   begin
        assign(f,'prime.inp');
        reset(f);
        read(f,N);
        close(f);
   end;

Procedure xuli(N:integer);
var i:integer;
    f:text;
    begin
        i:=1;

        repeat
        i:=i+1;
        until prime(i) and prime(n-i);

       assign(f,'Prime.out');
        rewrite(f);
        write(f,i,' ',n-i);
        close(f);
    end;

begin
input(N);
xuli(N);
end.

duytha...@gmail.com

unread,
Feb 7, 2017, 3:43:04 AM2/7/17
to THCS Thái Thị Kim Hồng, tienph...@gmail.com

kiet...@gmail.com

unread,
Feb 26, 2018, 8:37:10 AM2/26/18
to THCS Thái Thị Kim Hồng
có thể dùng phép gán nào khác thay cho prime:=n>sqrt(x) ko ạ


Vào 10:43:04 UTC+2 Thứ Ba, ngày 07 tháng 2 năm 2017, Thái Nguyễn Duy đã viết:
Reply all
Reply to author
Forward
0 new messages