Lập trình đơn giản

TH

Số siêu nguyên tố

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ố.

Nhiệm vụ của bạn là viết chương trình nhập dữ liệu vào là một số nguyên N (0< N <10) và đưa ra kết quả là một số siêu nguyên tố có N chữ số cùng số lượng của chúng.

NT
7 tháng 8 2020 lúc 10:30

uses crt;
var n,i,kt,dem:integer;
x,y,m,b:int32;
st,st1,st2,st3:shortstring;
{-------------chuong-trinh-con-kiem-tra-so-nguyen-to-----------------------}
function ktnt(var x:longint):integer;
var kt,i,kt1,j:integer;
begin
kt:=0;
for i:=2 to trunc(sqrt(x)) do
if x mod i=0 then begin
kt:=1;
break;
end;
if kt=0 then ktnt:=1
else ktnt:=0;
end;
{-------------------------------------------}
begin
clrscr;
write('Nhap n='); readln(n);
st1[1]:='1';
for i:=2 to n do
st1[i]:='0';
st:='';
for i:=1 to n do
st:=st+st1[i];
val(st,x);
for i:=1 to n do
st2[i]:='9';
st3:='';
for i:=1 to n do
st3:=st3+st2[i];
val(st3,y);

dem:=0;
for m:=x to y do
{-----------------------------------------------}
begin
begin
b:=m;
repeat
kt:=ktnt(b);
if kt=0 then break
else b:=b div 10;
until b<10;
if (ktnt(b)=1) and (b>1) then

begin

write(m,' ');

inc(dem);

end;
end;
end;

writeln;

writeln('Co ',dem,' so sieu nguyen to co ',n,' chu so');
{-------------------------------------------------}
readln;
end.

Bình luận (0)
ML
11 tháng 8 2020 lúc 21:06

Program HOC24;

var n: byte;

dem: integer;

i,x,x1: longint;

function nt(b: longint): boolean;

var j: longint;

begin

nt:=true;

if (b=2) or (b=3) then exit;

nt:=false;

if (b=1) or (b mod 2=0) or (b mod 3=0) then exit;

j:=5;

while j<=trunc(sqrt(b)) do

begin

if (b mod j=0) or (b mod (j+2)=0) then exit;

j:=j+6;

end;

nt:=true;

end;

function snt(a: longint): boolean;

var d,d1: byte;

begin

d:=0; d1:=0;

while a<>0 do

begin

if nt(a) then d:=d+1;

d1:=d1+1;

a:=a div 10;

end;

if d1=d then snt:=true else snt:=false;

end;

begin

write('Nhap so N: '); readln(n);

case n of

1: begin x:=1; x1:=9; end;

2: begin x:=10; x1:=99; end;

3: begin x:=100; x1:=999; end;

4: begin x:=1000; x1:=9999; end;

5: begin x:=10000; x1:=99999; end;

6: begin x:=100000; x1:=999999; end;

7: begin x:=1000000; x1:=9999999; end;

8: begin x:=10000000; x1:=99999999; end;

9: begin x:=100000000; x1:=999999999; end;

end;

dem:=0;

for i:=x to x1 do

if nt(i) then

if snt(i) then

begin

write(i,' ');

inc(dem);

end;

writeln;

write('Tat ca co ',dem,' so');

readln

end.

Bình luận (0)
TH
6 tháng 8 2020 lúc 21:45

Ví dụ khi chạy chương trình:

Nhap so N: 4

Cac so sieu nguyen to có 4 chu so la: 2333 2339 2393 2399 2939 3119 3137 3733 3739 3793 3797 5939 7193 7331 7333 7393

Tat ca co 16 so

Bình luận (0)