Số nguyên dương X (0<X <109) được gọi là số nguyên tố đặc biệt nếu X là số nguyên tố và các chữ số có trong X đều là số nguyên tố. ví dụ như 23 là số nguyên tố đặc biệt bởi vì 23 là số nguyên tố và 2, 3 củng là số nguyên tố. Nhập vào số nguyên dương X, Ghi ra giá trị X*2 nếu x là số nguyên tố đặc biệt, còn ngược lại ghi ra giá trị X div 2. Theo cach tập tin của pascal
uses crt;
var x:int64;
kt,i,n,d,j,kt1,k:integer;
a:array[1..100]of longint;
st:string;
ktnt:boolean;
begin
clrscr;
write('x='); readln(x);
if (0<x) and (x<1000000000) then
begin
kt:=0;
for i:=2 to trunc(sqrt(x)) do
if x mod i=0 then kt:=1;
if kt=0 then
begin
str(x,st);
d:=length(st);
for j:=1 to d do
val(st[j],a[j],n);
ktnt:=false;
for j:=1 to d do
begin
kt1:=0;
for k:=2 to a[j]-1 do
if a[j] mod k=0 then kt1:=1;
if kt1=0 then ktnt:=true
else ktnt:=false;
end;
if ktnt=true then writeln(x*2)
else writeln(x div 2);
end
else writeln(x div 2);
end
else writeln('vui long nhap lai');
readln;
end.