Số đặc biệt là số khi viết từ phải sang trái là một số nguyên tố. Ví dụ: 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 phím (n>=2). a. In ra 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. Ví dụ: Dữ liệu vào Nhập n = 5 A1=13 A2=32 A3=24 A4=16 A5=52 Dữ liệu ra Cac so dac biet cua day: 13 32 16 Co 3 so dac biet trong day Tong cac so dac biet la: 61
2 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;
end.
Mình gưi bài:
Var A:Array[0..1000] Of Longint;
i,j,n,d,m,dem:Longint;
Function DN(a:Longint):Longint;
Begin
DN:=0;
While a<>0 do
Begin
DN:=DN*10+a mod 10;
a:=a div 10;
End;
End;
Function KT(n:Longint):Boolean;
Var i:Longint;
Begin
If (n=2) or (n=3) then Exit(True);
If (n mod 2=0) or (n mod 3=0) or (n<2) then Exit(False);
i:=5;
While Sqr(i)<=n do
Begin
If (n mod i = 0 ) or (n mod (i+2) = 0) then Exit(False);i:=i+6;
End;
Exit(True);
End;
Begin
Readln(n);
m:=1;
For i:=1 to n do
Begin
Write('A',i,'=');Readln(d);
If KT(DN(d)) then
Begin
A[m]:=d; m:=m+1; dem:=dem+d;
End;
End;
Write('Cac so dac bien cua day ');For i:=1 to m-1 do Write(A[i],' '); Writeln;
Writeln('Co ',m-1,' so dac biet trong day');
Write('Tong cac so dac biet la: ',dem);
Readln;
End.