Thứ Hai, 7 tháng 4, 2014

Giải bài SPRIME trong đề thi HSG10 - 2014

Bài giải của bạn Đoàn Lê Hải

var     fi,fo:text;
        f:array[1..10000] of boolean;
        a,b,n,kq,i,j:longint;

function ktnt(x:longint):boolean;
        var i:longint;
        begin
        for i:=2 to x div 2 do
                if x mod i=0 then exit(false);
        exit(true);
        end;
begin
assign(fi,'sprime.inp');
reset(fi);
assign(fo,'sprime.out');
rewrite(fo);
for i:=2 to 10000 do
        if ktnt(i)=false then f[i]:=true;
read(fi,n);
f[1]:=true;
for i:=1 to n do
        begin
        read(fi,a,b);
        for j:=a to b do
                if f[j]=false then
                        kq:=kq+j;
        writeln(fo,kq);
        kq:=0;
        end;
close(fi);
close(fo);
end.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.