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;

Câu hỏi trong lớp Xem thêm