Số đặc biệt là số khi viết từ phải sang trái là 1 nguyên tố. VD:Số 13 khi viết từ phải sang trái là 31 và 31 là số nguyên tổ . Nên số 13 là số đặc biệt . Yêu Cầu : Viết chương trình nhập n số nguyên tử bàn phim ( n>= 2) A.in ra màn màn hình các số đặc biệt trong dãy B.đếm có bao nhiêu số đặc biệt trong dãy C.tính tổng các số đặc biệt
1 câu trả lời
uses crt;
const lim = trunc(1e6);
var n, i, cnt, res, x: longint;
a: array[1..lim] of longint;
p: array[0..lim] of boolean;
procedure sieve(n: longint);
var i, j: longint;
begin
p[0]:=true; p[1]:=true;
for i:=2 to trunc(sqrt(n)) do
if not p[i] then
for j:=i to n div i do p[i * j]:=true;
end;
function reverse(n: longint): longint;
var s, st: string;
i: longint;
tmp: longint;
begin
s:=''; st:='';
str(n, s);
for i:=length(s) downto 1 do st:=st + s[i];
val(st, tmp);
exit(tmp);
end;
begin
clrscr;
sieve(lim);
write('Nhap n = '); readln(n);
for i:=1 to n do
begin
write('A', i, '='); readln(x);
a[i]:=reverse(x);
if not p[reverse(x)] then
begin
inc(cnt);
inc(res, x);
end;
end;
write('Cac so dac biet cua day: ');
for i:=1 to n do
if not p[a[i]] then write(reverse(a[i]), ' ');
writeln(#13#10, 'Co ', cnt, ' so dac biet trong day');
writeln('Tong cac so dac biet la: ', res);
readln;