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

Trần Minh Hoàng

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.

Nguyễn Lê Phước Thịnh
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)
Minh Lệ
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)
Trần Minh Hoàng
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)

Các câu hỏi tương tự
Quỳnh Chi Nguyễn
Xem chi tiết
Ngô Thị Tân
Xem chi tiết
Quỳnh Chi Nguyễn
Xem chi tiết
dinhnguyentuhuy
Xem chi tiết
Thiện
Xem chi tiết
dinhnguyentuhuy
Xem chi tiết
dinhnguyentuhuy
Xem chi tiết
Phan Đức Duy
Xem chi tiết
Kamato Heiji
Xem chi tiết