HSG Lâm Đồng 2011 - Bài 1/3
Số siêu nguyên tố là số nguyên tố mà khi bỏ một số tuỳ ý các chữ số bên phải của nó thì phần còn lại vẫn tạo thành một số nguyên tố.
Ví dụ : 7331 là một số siêu nguyên tố có 4 chữ số vì 733, 73, 7 cũng là các số nguyên tố.
Em hãy viết chương trình tìm các số siêu nguyên tố có N chữ số (0 < N <10) và số lượng các số tìm được.
Dữ liệu vào: cho trong File SIEUNT.INP chứa số N.
Kết quả: ghi ra file SIEUNT.OUT gồm các dòng:
- Dòng 1: số lượng các số siêu nguyên tố có N chữ số.
- Dòng tiếp theo liệt kê các số siêu nguyên tố tìm được.
Ví dụ:
SIEUNT.INP SIEUNT.OUT
4 16
2333 2339 2393 2399
2939 3119 3137 3733
3739 3793 3797 5939
7193 7331 7333 7393
Giải
var a,b,c,e,h,n,i,j,k,t: longint; + chr$(13) + chr$(10) + _
m,p: array[0..1000] of longint;
f: text;
Begin
assign(f,'SIEUNT.INP');
reset(f);
readln(f,n);
close(f);
assign(f,'SIEUNT.OUT');
rewrite(f);
a:=1;
for i:=1 to n do a:=a*10;
b:=a-1;
a:=a div 10;
for i:=a to b do
begin
c:=i; t:=0; e:=0;
repeat
for j:=1 to c do if (c mod j)=0 then e:=e+1;
if e=2 then t:=t+1;
c:=(c div 10);
e:=0;
until c=0;
if t=n then
begin + chr$(13) + chr$(10) + _
k:=k+1;
m[k]:=i;
end;
end;
writeln(f,k);
for i:=1 to k do write(f,m[i],' ');
close(f);
End.
No comments:
Post a Comment
Cảm ơn bạn đã nhận xét