- 26 Tháng sáu 2019
- 1
- 0
- 1
- 21
- Bình Phước
- Trường Trung hoc pho thong Loc Ninh
Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
Mình đã làm bài dưới đây nhưng bị lỗi exit code 39: Ordinal expression expected mong các bạn giúp đỡ.
Bài tập:
Câu 1: (3,0 điểm) Tìm số TIMSO.PAS
Cho số nguyên dương X, khi đảo ngược trật tự các chữ số của X ta sẽ thu được một số nguyên dương Y, Y được gọi là số đảo ngược của X.
Ví dụ: X = 613 thì Y = 316 là số đảo ngược của X.
Số nguyên dương Y được gọi là số nguyên tố nếu nó chỉ có hai ước số là 1 và chính nó, số 1 không phải là số nguyên tố.
Cho hai số nguyên dương P và Q (1 ≤ P ≤ Q ≤ 2´109; Q - P ≤ 105).
Yêu cầu: Hãy tìm tất cả các số nguyên dương X nằm thỏa mãn P ≤ X ≤ Q và số đảo ngược của số X là số nguyên tố.
Dữ liệu vào: Cho trong file văn bản TIMSO.INP có cấu trúc như sau:
- Dòng 1: Ghi hai số nguyên dương P Q, hai số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản TIMSO.OUT trên nhiều dòng, mỗi dòng ghi một số nguyên X tìm dược.
vd:
TIMSO.INP
10 19
TIMSO.OUT
11
13
14
16
Code của tớ là:
var f:text;
p,q,i:int64;
procedure nhap;
begin
assign(f,'TIMSO.INP');
reset(f);
read(f,p,q);
close(f);
end;
function sodao(n:int64):int64;
var s:int64;
begin
s:=0;
while n>0 do
begin
s:=s*10+n mod 10;
n:=n div 10;
end;
sodao:=s;
end;
function nt(m:int64):boolean;
var j:longint;
begin
if m<=1 then exit(false)
else
begin
j:=2;
while (j<=trunc(sqrt(m))) and (m mod j<>0) do inc(j);
if j>trunc(sqrt(m)) then exit(true)
else exit(false);
end;
end;
procedure ghi;
begin
assign(f,'TIMSO.OUT');
rewrite(f);
for i:=p to q do
if nt(sodao(i))=true then writeln(f,i);
close(f);
end;
begin
nhap;
ghi;
end.
Bài tập:
Câu 1: (3,0 điểm) Tìm số TIMSO.PAS
Cho số nguyên dương X, khi đảo ngược trật tự các chữ số của X ta sẽ thu được một số nguyên dương Y, Y được gọi là số đảo ngược của X.
Ví dụ: X = 613 thì Y = 316 là số đảo ngược của X.
Số nguyên dương Y được gọi là số nguyên tố nếu nó chỉ có hai ước số là 1 và chính nó, số 1 không phải là số nguyên tố.
Cho hai số nguyên dương P và Q (1 ≤ P ≤ Q ≤ 2´109; Q - P ≤ 105).
Yêu cầu: Hãy tìm tất cả các số nguyên dương X nằm thỏa mãn P ≤ X ≤ Q và số đảo ngược của số X là số nguyên tố.
Dữ liệu vào: Cho trong file văn bản TIMSO.INP có cấu trúc như sau:
- Dòng 1: Ghi hai số nguyên dương P Q, hai số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản TIMSO.OUT trên nhiều dòng, mỗi dòng ghi một số nguyên X tìm dược.
vd:
TIMSO.INP
10 19
TIMSO.OUT
11
13
14
16
Code của tớ là:
var f:text;
p,q,i:int64;
procedure nhap;
begin
assign(f,'TIMSO.INP');
reset(f);
read(f,p,q);
close(f);
end;
function sodao(n:int64):int64;
var s:int64;
begin
s:=0;
while n>0 do
begin
s:=s*10+n mod 10;
n:=n div 10;
end;
sodao:=s;
end;
function nt(m:int64):boolean;
var j:longint;
begin
if m<=1 then exit(false)
else
begin
j:=2;
while (j<=trunc(sqrt(m))) and (m mod j<>0) do inc(j);
if j>trunc(sqrt(m)) then exit(true)
else exit(false);
end;
end;
procedure ghi;
begin
assign(f,'TIMSO.OUT');
rewrite(f);
for i:=p to q do
if nt(sodao(i))=true then writeln(f,i);
close(f);
end;
begin
nhap;
ghi;
end.
Last edited: