Tin học Tây Sơn

SIÊU NGUYÊN TỐ

Go down

SIÊU NGUYÊN TỐ

Bài gửi by Admin on Tue Nov 13, 2018 3:26 pm

Số siêu nguyên tố
Số siêu nguyên tố là số nguyên tố mà khi xoá bỏ dần các chữ số bên phải của nó thì phần còn lại vẫn là số nguyên tố. Ví dụ: 2333 là số siêu nguyên tố vì 2333, 233, 23, 2 đều là các số nguyên tố.
Nhập vào số nguyên dương M. Ghi ra SNT.OUT các số siêu nguyên tố bé hơn M, mỗi số một dòng theo thứ tự số nhỏ hơn ghi trước.
 








SNT.INPSNT.OUT
3029 23


Được sửa bởi Admin ngày Tue Nov 13, 2018 4:21 pm; sửa lần 4.
avatar
Admin
Admin
Admin

Posts : 640
Reputation : -35
Join date : 16/11/2015
Age : 29

Xem lý lịch thành viên http://tinhocts.forumvi.com

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by mainhatthong2004 on Tue Nov 13, 2018 4:39 pm

thong:
program bai5;
uses crt;
var  fi,fo:text;
i,n,d:integer;
//--------------------------------------
function nto(x:integer):boolean;
var y:integer;
begin
if x<=1 then begin nto:=false; exit; end;
nto:=true;
for y:=2 to trunc(sqrt(x)) do
if x mod y=0 then
begin
nto:=false;
break;
end;
end;
//---------------------------------------------
function snt(m:integer):boolean;
begin
while (nto(m)) and (m>0) do
m:=m div 10;
if m>0 then
snt:=false else snt:=true;
end;
//--------------------------------------
begin
clrscr;
assign(fi,'snt.inp');
reset(fi);
read(fi,n);
close(fi);
assign(fo,'snt.out');
rewrite(fo);
for i:=2 to n-1 do
if snt(i) then
begin
inc(d);
write(fo,i,#32);
end;
if d=0 then
write(fo,'ko co ');
close(fo);
readln;
end.


Được sửa bởi mainhatthong2004 ngày Tue Nov 13, 2018 5:02 pm; sửa lần 2.
avatar
mainhatthong2004
Năng động
Năng động

Posts : 62
Reputation : -24
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by quantran on Tue Nov 13, 2018 4:53 pm

code cua em:
program baisnt;
var
n,i,j,d:integer;
fo,fi:text;
//-------------------------------
function nt(x:integer):boolean;
var
j:integer;
begin
if x<2 then
begin
nt:=false;
exit;
end;
nt:=true;
for j:=2 to trunc(sqrt(x)) do
if x mod j=0 then
begin
nt:=false;
break;
end;
end;
//---------------------------------
function snto(n:integer):boolean;
begin
while (nt(n)=true) and (n>0)  do
n:=n div 10;
if n<>0 then
snto:=false
else
snto:=true;
end;
//-------------------------------
begin
assign(fi,'snto.inp');
reset(fi);
read(fi,n);
close(fi);
assign(fo,'SNT.out');
rewrite(fo);
d:=0;
for i:=2 to n-1 do
if snto(i)=true then
begin
write(fo,i,#32);
d:=d+1;
end;
if d=0 then
write(fo,'khong co ');
close(fo);
readln;
end.


Được sửa bởi quantran ngày Tue Nov 13, 2018 5:01 pm; sửa lần 1.
avatar
quantran
Năng động
Năng động

Posts : 63
Reputation : -20
Join date : 18/06/2018
Age : 14
Location : Binh Thuan-Tay Son-Binh Dinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by Nguyễn Văn Biên on Tue Nov 13, 2018 4:54 pm

CODE:
program SNT;
var m,i:integer;
fi,fo:text;

function ktra(i:integer):boolean;

function ngto(k:integer):boolean;
var j:integer;
begin
ngto:=false;
if k<2 then exit
else if k=2 then begin ngto:=true; exit end;
for j:=2 to trunc(sqrt(k)) do
if k mod j = 0 then exit;
ngto:=true
end;

begin
ktra:=false;
while ngto(i) and (i>0) do i:=i div 10;
if i<>0 then exit else ktra:=true
end;

begin
assign(fi,'SNT.inp'); reset(fi);
read(fi,m); close(fi);
assign(fo,'SNT.out'); rewrite(fo);
for i:=m-1 downto 2 do if ktra(i) then write(fo,i,#32);
close(fo)
end.


Được sửa bởi Nguyễn Văn Biên ngày Tue Nov 13, 2018 4:59 pm; sửa lần 1.
avatar
Nguyễn Văn Biên
S-mod
S-mod

Posts : 170
Reputation : 22
Join date : 18/06/2018
Age : 14
Location : ?

Xem lý lịch thành viên https://bien2004official.blogspot.com

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by Cao Hải Dương on Tue Nov 13, 2018 4:56 pm

CODE:
Program ssnt;
Uses crt;
Var fi,fo:text; m,i:longint;

Function snt(x:longint):boolean;
Var i:longint;
Begin
snt:=true;
If x<2 then snt:=false
Else For i:=2 to trunc(sqrt(x)) do
If x mod i = 0 then Begin snt:=false; Break End;
End;

Function ssnt(x:longint):boolean;
Begin
ssnt:=false;
While (x>0) and snt(x) do x:=x div 10;
If x=0 then ssnt:=true;
End;

Begin
Clrscr;
Assign(fi,'SNT.INP');Reset(fi);
Read(fi,m);
Assign(fo,'SNT.OUT');Rewrite(fo);
For i:=2 to m do
If ssnt(i) then write(fo,i,#32);
Close(fi);
Close(fo);
Readln;
End.
avatar
Cao Hải Dương
Năng động
Năng động

Posts : 46
Reputation : 14
Join date : 18/06/2018
Age : 14
Location : Bình Định

Xem lý lịch thành viên http://starduongdesign.blogspot.com

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by huynhtanluc on Tue Nov 13, 2018 4:58 pm

Code:
Program bt;
uses crt;
var n,i:integer;t1,t2:text;

        Procedure doc;
        var i:integer;
        begin
        assign(t1,'snt.inp');
        reset(t1);
        read(t1,n);
        close(t1);
        end;

        Function nt(n:integer):boolean;
        var i:integer;
        begin
        nt:=true;
        if n<2 then
        begin
        nt:=false;
        exit;
        end;
        for i:=2 to trunc(sqrt(n)) do
        if n mod i=0 then
        begin
        nt:=false;
        break;
        end;
        end;

        Function snt(n:integer):boolean;
        begin
        snt:=false;
        while nt(n) and (n>0) do
        n:=n div 10;
        if n=0 then snt:=true;
        end;

        Procedure inra;
        begin
        assign(t2,'snt.out');
        rewrite(t2);
        for i:=2 to n-1 do
        if snt(i) then write(t2,i,#32);
        close(t2);
        end;

Begin
        clrscr;
        doc;
        inra;
        readln;
End.


avatar
huynhtanluc
Năng động
Năng động

Posts : 52
Reputation : -14
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by tonguyengiahan237 on Tue Nov 13, 2018 4:59 pm

Code:
Program Sieu_Nguyen_to;
Uses crt;
Var M:integer;
    fi,fo:text;

Procedure Doc_du_lieu(Var M:integer;Var fi:text);
Begin
Assign(fi,'SNT.INP');
Reset(fi);
Readln(fi,M);
Close(fi);
End;

Function KT_snt(M:integer):boolean;
Var i:integer;
Begin
KT_snt:=false;
For i:=2 to trunc(sqrt(M)) do
If M mod i=0 then exit;
KT_snt:=true;
End;

Function KT_so_snt(M:integer):boolean;
Var T:integer;
Begin
T:=M;KT_so_snt:=true;
While (T>0) and (KT_so_snt=true) and (T<>1)do
begin
If (KT_snt(M)=false) then KT_so_snt:=false;
T:=T div 10;
end;
End;

Procedure Viet_du_lieu(Var M:integer;Var fo:text);
Var i:integer;
Begin
Assign(fo,'SNT.OUT');
Rewrite(fo);
For i:=1 to M do
If (KT_so_snt(i)=true) and (i mod 10<>1) and (i div 10<>1) then Writeln(fo,i);
Close(fo);
End;

BEGIN
CLRSCR;
Doc_du_lieu(M,fi);
Viet_du_lieu(M,fo);
READLN;
END.


avatar
tonguyengiahan237
Teen Chính hiệu
Teen Chính hiệu

Posts : 16
Reputation : -3
Join date : 06/11/2018
Age : 14
Location : TT Phú Phong Huyện Tây Sơn Tỉnh Bình Định

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by nguyen77 on Tue Nov 13, 2018 4:59 pm

Code:
program bt;
uses crt;
var fi,fo:text;
i,n,n1,n2:integer;

function nt(x:longint):boolean;
var j:longint;
begin
if x<2 then
begin
        nt:=false;
        exit;
end
else
begin
nt:=true;
for j:=2 to trunc(sqrt(x)) do
        if x mod j=0 then
                begin
                        nt:=false;
                        break;
                end;
end;
end;

function snt(x:longint):boolean;
begin
snt:=false;

while (x>0) and (nt(x)=true)  do

        x:=x div 10;

if x=0 then
snt:=true

end;


begin
clrscr;
assign(fi,'SNt.inp');
reset(fi);
read(fi,n);
assign(fo,'snt.out');
rewrite(fo);

for i:=n-1 downto 2 do
        if (snt(i)=true) and (nt(i)=true) then
                write(fo,i,#32);
close(fi);
close(fo);
readln;
end.
write(' nhap so N ');
readln(n);


avatar
nguyen77
Năng động
Năng động

Posts : 58
Reputation : -22
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by Đinh Ngọc Mạnh on Tue Nov 13, 2018 4:59 pm

Code:
var
fi,fo:text;
n,i,dem:longint;
snt:boolean;

function ngto(x:longint):boolean;
var
j:longint;
begin
if x<2 then
begin
ngto:=false;
exit;
end;
ngto:=true;
for j:=2 to trunc(sqrt(x)) do if x mod j=0 then
begin
ngto:=false;
break
end;
end;

function sngto(x:longint):boolean;
begin
while (ngto(x)) and (x>0) do x:=x div 10;
if x<>0 then sngto:=false else sngto:=true
end;

begin
assign(fi,'snt.inp'); reset(fi);
read(fi,n); close(fi);
assign(fo,'snt.out'); rewrite(fo);
for i:=2 to n-1 do if sngto(i) then
begin
inc(dem);
write(fo,i,#32);
end;
if dem=0 then write(fo,'Khong co so sieu nguyen to nao ca!!');
close(fo)
end.
avatar
Đinh Ngọc Mạnh
Năng động
Năng động

Posts : 62
Reputation : -32
Join date : 18/06/2018
Age : 14
Location : Ở nhà

Xem lý lịch thành viên http://tinhocts.forumvi.com

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by Tạ Thúy Phượng on Tue Nov 13, 2018 4:59 pm

code:
program tep5;
uses crt;
var
m,i:integer;
fi,fo:text;
//---------------------------------
function nto(x:integer):boolean;
var
j:integer;
begin
if x<2 then
       begin
       nto:=false;
       exit;
       end;
nto:=true;
for j:=2 to trunc(sqrt(x)) do
if x mod j=0 then
       begin
       nto:=false;
       break;
       end
else nto:=true;
end;
//-------------------------------
function snto(k:integer):boolean;
var
kt:boolean;
begin
while (nto(k)=true)and(k>0) do
k:=k div 10;
if k=0 then kt:=true
else kt:=false;
snto:=kt;
end;
//--------------------------
begin
assign(fi,'SNT.INP');
reset(fi);
read(fi,m);
assign(fo,'SNT.OUT');
rewrite(fo);
for i:=2 to m-1 do
if snto(i)=true then write(fo,i,#32);
close(fi);
close(fo);
readln;
end.
avatar
Tạ Thúy Phượng
Năng động
Năng động

Posts : 53
Reputation : -18
Join date : 18/06/2018
Location : Binh Thuan-Tay Son-Binh Dinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by nganvonhat123 on Tue Nov 13, 2018 5:02 pm

Code:
program baissnt;

uses crt;
        var i,n:integer;
          fo,fi:text;


        function snt(n:integer):boolean;
                var i:integer;
                        kt:boolean;
        begin

                if n<2 then begin snt:=false;exit;end;
                snt:=true;
                for i:=2 to trunc(sqrt(n)) do
                        if n mod i=0 then
                        begin
                                snt:=false;
                                break;
                        end;

        end;

        function ssnt(n:integer):boolean;
                var kt:boolean;
        begin


                while (n>0) and (snt(n)) do n:=n div 10;


                  if n=0 then ssnt:=true else ssnt:=false;
        end;


BEGIN
 clrscr;
 write('nhap m: ');readln(n);
 assign(fo,'nt.out');
 rewrite(fo);
 for i:=2 to n-1 do if ssnt(i) then write(fo,i,#32);
 close(fo);

 readln;
END.

avatar
nganvonhat123
Năng động
Năng động

Posts : 56
Reputation : -23
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by truongquocbao2004 on Tue Nov 13, 2018 5:03 pm

Code:
program ssnt;
uses crt;
var fi,fo:text;
    i,m:integer;

function snt(n:integer):boolean;
var i:integer;
    kt:boolean;
begin
kt:=true;
if n=1 then begin kt:=false;exit;end;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then begin kt:=false;break;end;
snt:=kt;
end;

function ssnt(n:integer):boolean;
var kt:boolean;
begin
while (n>0)and(snt(n)) do
n:=n div 10;
if n=0 then kt:=true else kt:=false;
ssnt:=kt;
end;

begin
clrscr;
assign(fi,'snt.inp');
reset(fi);
read(fi,m);
close(fi);
assign(fo,'snt.out');
rewrite(fo);
for i:=2 to m-1 do if ssnt(i) then write(fo,i,' ');
close(fo);
readln;
end.
avatar
truongquocbao2004
Nhiệt tình
Nhiệt tình

Posts : 35
Reputation : -10
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by thanhtruc on Tue Nov 13, 2018 5:04 pm

Code:
program bai1;
uses crt;
var m,i,j,k:integer;
        fo,fi:text;

function nt(x:integer):boolean;
begin
if x=1 then
begin
nt:=false;
exit;
end;
nt:=true;
for j:=2 to trunc(sqrt(x)) do
if x mod j=0 then
begin
nt:=false;
break;
end;
end;

function snt(x:integer):boolean;
begin
while nt(x) and (x>0) do
x:=x div 10;
if x=0 then snt:=true else snt:=false;
end;

Begin
clrscr;
assign(fi,'SNT.INP');
reset(fi);
read(fi,m);
assign (fo,'SNT.OUT');
rewrite(fo);
for i:= 2 to m-1 do
if snt(i) then write(fo,i,#32);
close(fo);
readln;
end.
avatar
thanhtruc
Nhiệt tình
Nhiệt tình

Posts : 36
Reputation : -7
Join date : 25/06/2018
Location : TNPPTSBĐ

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by Nguyễn Hoàng Nam on Tue Nov 13, 2018 5:05 pm

Code:
program ssnt;
uses crt;
var fi,fo:text;n,i:integer;
function nt(n:integer):boolean;
var i:integer;
begin
nt:=true;
for i:=2 to trunc(sqrt(n)) do
if n mod i =0 then exit;
nt:=true;
end;
function snt(n:integer):boolean;
var i,k:integer;
begin
snt:=false;
while (nt(n)) and (n>0) do
begin
n:=n div 10;
if n <>0 then snt:=false
else snt:=true;
end;
end;
begin
clrscr;
assign(fi,'SNT.INP');
reset(fi);
readln(fi,n);
for i:=1 to n do
read(fi,n);
assign(fo,'SNT.out');
rewrite(fo);
for i:=n-1 downto 2 do
if snt(i)=true then write(fo,i,#32);
close(fi);
close(fo);
end.
write
readln;
end.
avatar
Nguyễn Hoàng Nam
Teen Chính hiệu
Teen Chính hiệu

Posts : 10
Reputation : -1
Join date : 06/11/2018
Age : 13

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: SIÊU NGUYÊN TỐ

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết