Tin học Tây Sơn

Số ghép nguyên tố

Go down

Số ghép nguyên tố

Bài gửi by Admin on Sat Nov 24, 2018 9:50 pm

Dãy A là dãy tăng dần các số nguyên tố: 2, 3, 5,7, 11, 13,. . ., lập dãy B bằng cách ghép từng cặp số liền kề của dãy A với nhau, cụ thể: 23, 57, 1113, . . ., dãy C nhận được từ dãy B bằng cách loại đi các số không là số nguyên tố.

Yêu cầu:  Lập chương trình tìm j số hạng đầu tiên của dãy C.

Dữ liệu vào:  Nhập  j  (j <= 20) từ bàn phím.

Dữ liệu ra: Ghi ra tệp Sntghep.out, mỗi dòng một số hạng của dãy
Bài tập thư giãn ngày mưa Razz
avatar
Admin
Admin
Admin

Posts : 658
Reputation : -39
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: Số ghép nguyên tố

Bài gửi by mainhatthong2004 on Tue Nov 27, 2018 2:01 pm

Code:
program bai6;
uses crt;
var fo:text;
s:string;
i,j,k,h,n,f,t,d:longint;
a,b:array[1..100000] of string;
c:array[1..100] of longint;
//----------------------------------------------
function nto(x:longint):boolean;
var l:longint;
begin
        nto:=true;
        for l:=2 to trunc(sqrt(x)) do
                if x mod l=0 then
                        begin
                                nto:=false;
                                exit;
                        end;
end;
//---------------------------------------------
procedure ghi;
begin
assign(fo,'Sntghep.out');
rewrite(fo);
h:=2;i:=0;
k:=0;n:=0;
d:=0;
while n<j do
begin
        if nto(h) then
                begin
                        inc(i);
                        str(h,s);
                        a[i]:=a[i]+s;
                        inc(h);
                        delete(s,1,length(s));
                end else
                        inc(h);
        if i-2=d then
        begin
                begin
                        d:=i;
                        inc(k);
                        b[k]:=b[k]+a[i-1]+a[i];
                end;

        val(b[k],t,f);
        if nto(t) then
                begin
                        inc(n);
                        c[n]:=t;
                end;
        end;
end;
for i:=1 to n do
                writeln(fo,c[i]);
close(fo);
end;
//-------------------------------------------
begin
clrscr;
repeat write('nhap j '); readln(j); until(j>0) and (j<=20);
ghi;
readln;
end.


Được sửa bởi mainhatthong2004 ngày Tue Nov 27, 2018 2:29 pm; sửa lần 1.
avatar
mainhatthong2004
Teen cá tính
Teen cá tính

Posts : 76
Reputation : -25
Join date : 18/06/2018

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

Về Đầu Trang Go down

Re: Số ghép nguyên tố

Bài gửi by nguyen77 on Tue Nov 27, 2018 2:58 pm

Code:

program bt;
uses crt;
var i,n,j,dem,o,l,d1,so,q:longint;
k:string;
a,b:array[1..1000000] of string;
fo:text;

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

begin
clrscr;
repeat
write(' j= ');
readln(j);
until j<=20;
assign(fo,'SNTGHEP.OUT');
rewrite(fo);
i:=2;
dem:=0;
while dem<j do
        begin
                if nt(i)=true then
                        begin
                                str(i,k);
                                inc(l);
                                a[l]:=a[l]+k;
                                inc(i)
                        end
                else
                        inc(i);
        if l-2=d1 then
                begin
                        begin
                        d1:=l;
                        inc(o);
                        b[o]:=a[l-1]+a[l];
                        end;
                val(b[o],so,q);
                        if nt(so)=true then
                                begin
                                        inc(dem);
                                        write(fo,so,#32);
                                end;
                        end;
                end;
        close(fo);
readln;
end.

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

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

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

Về Đầu Trang Go down

Re: Số ghép nguyên tố

Bài gửi by Nguyễn Văn Biên on Tue Nov 27, 2018 3:23 pm




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

Posts : 186
Reputation : 21
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: Số ghép nguyên tố

Bài gửi by Đinh Ngọc Mạnh on Tue Nov 27, 2018 3:38 pm

Nguyễn Văn Biên đã viết:
???
avatar
Đinh Ngọc Mạnh
Teen cá tính
Teen cá tính

Posts : 71
Reputation : -30
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: Số ghép nguyên tố

Bài gửi by mainhatthong2004 on Tue Nov 27, 2018 3:40 pm

Code:
program bai6;
uses crt;
var fo:text;
s,st:string;
i,j,k,h,n,f,t,d:longint;
a:array[1..100] of string;
c:array[1..100] of longint;
//----------------------------------------------
function nto(x:longint):boolean;
var l:longint;
begin
        nto:=true;
        for l:=2 to trunc(sqrt(x)) do
                if x mod l=0 then
                        begin
                                nto:=false;
                                exit;
                        end;
end;
//---------------------------------------------
procedure ghi;
begin
assign(fo,'Sntghep.out');
rewrite(fo);
h:=2;n:=0;
while n<j do
        begin
                delete(st,1,length(st));
                i:=0;
                while i<2 do
                        begin
                                if nto(h) then
                                        begin
                                                inc(i);
                                                str(h,s);
                                                a[i]:=a[i]+s;
                                                inc(h);
                                                delete(s,1,length(s));
                                        end else
                                                inc(h);
                        end;
                st:=a[1]+a[2];
                delete(a[1],1,length(a[1]));
                delete(a[2],1,length(a[2]));
                val(st,t,d);
                if nto(t) then
                        begin
                                inc(n);
                                c[n]:=t;
                        end;
end;
for i:=1 to n do
                writeln(fo,c[i]);
close(fo);
end;
//-------------------------------------------
begin
clrscr;
repeat write ('nhap j '); readln(j); until (j<=20);
ghi;
readln;
end.
avatar
mainhatthong2004
Teen cá tính
Teen cá tính

Posts : 76
Reputation : -25
Join date : 18/06/2018

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

Về Đầu Trang Go down

Re: Số ghép nguyên tố

Bài gửi by Cao Hải Dương on Tue Nov 27, 2018 3:43 pm

Nguyễn Văn Biên đã viết:
Question Question
avatar
Cao Hải Dương
Năng động
Năng động

Posts : 56
Reputation : -1
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: Số ghép nguyên tố

Bài gửi by nganvonhat123 on Tue Nov 27, 2018 3:48 pm

Code:
program gsnt;

uses crt;
        var fi,fo:text;
            i,j,d,kt,b,c:longint;
            a:array[1..2]of longint;
            ss,sss,s:string;

        procedure nhap;
        begin
                assign(fi,'sntghep.inp');
                reset(fi);
                read(fi,j);
                close(fi);
        end;

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

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

        function gb(a,b:longint):longint;
        begin
                str(a,s);str(b,ss);
                val(concat(s,ss),b,kt);
                gb:=b;
        end;



        procedure ghep;
        begin
                assign(fo,'sntghep.out');
                rewrite(fo); i:=0;d:=0;
                while c<j do
                        begin
                                inc(i);
                                if snt(i) then
                                        begin
                                        inc(d);
                                        a[d]:=i;
                                        end;
                                if d=2 then
                                        begin b:=gb(a[1],a[2]);d:=0;end;
                                if  snt(b) then
                                                begin
                                                inc(c);
                                                writeln(fo,b);
                                                b:=13;
                                                end;

                        end;

                close(fo);
        end;

BEGIN
 clrscr;
 nhap;
 ghep;
 readln;
END.



Được sửa bởi nganvonhat123 ngày Tue Nov 27, 2018 4:04 pm; sửa lần 1.
avatar
nganvonhat123
Begin
Begin

Posts : 9
Reputation : -2
Join date : 24/11/2018
Age : 14

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

Về Đầu Trang Go down

Re: Số ghép nguyên tố

Bài gửi by quantran on Tue Nov 27, 2018 3:50 pm

code cua em:
program bai;
var i,n,j,d,sl:longint;
kh,d1,so,t:longint;
a,b:array[1..1000000] of string;
fo,fi:text;
st:string;
//-----------------------------------------
function nto(x:longint):boolean;
var j:longint;
begin
nto:=true;
for j:=2 to trunc(sqrt(x)) do
if x mod j=0 then
begin
nto:=false;
break;
end;
end;
//----------------------------------------------
procedure nhap;
begin
assign(fi,'sntghep.inp');
reset(fi);
read(fi,j);
close(fi);
end;
//--------------------------------------------
procedure xuli;
begin
assign(fo,'SNTGHEP.OUT');
rewrite(fo);
i:=2;
d:=0;
while d<j do
begin
if nto(i)=true then
begin
str(i,st);
inc(kh);
a[kh]:=a[kh]+st;
inc(i)
end
else
inc(i);
if kh-2=d1 then
begin
begin
d1:=kh;
inc(sl);
b[sl]:=a[kh-1]+a[kh];
end;
val(b[sl],so,t);
if not nto(so)=true then
begin
inc(d);
writeln(fo,so,#32);
end;
end;
end;
close(fo);
end;
//-----------------------------------------
begin
nhap;
xuli;
readln;
end.
avatar
quantran
Teen cá tính
Teen cá tính

Posts : 73
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: Số ghép nguyên tố

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

CODE:
program bai;
var i,n,j,d,sl:longint;
kh,d1,so,t:longint;
a,b:array[1..1000000] of string;
fo,fi:text;
st:string;
//-----------------------------------------
function nto(x:longint):boolean;
var j:longint;
begin
nto:=true;
for j:=2 to trunc(sqrt(x)) do
if x mod j=0 then
begin
nto:=false;
break;
end;
end;
//----------------------------------------------
procedure nhap;
begin
assign(fi,'sntghep.inp');
reset(fi);
read(fi,j);
close(fi);
end;
//--------------------------------------------
procedure xuli;
begin
assign(fo,'SNTGHEP.OUT');
rewrite(fo);
i:=2;
d:=0;
while d<j do
begin
if nto(i)=true then
begin
str(i,st);
inc(kh);
a[kh]:=a[kh]+st;
inc(i)
end
else
inc(i);
if kh-2=d1 then
begin
begin
d1:=kh;
inc(sl);
b[sl]:=a[kh-1]+a[kh];
end;
val(b[sl],so,t);
if not nto(so)=true then
begin
inc(d);
writeln(fo,so,#32);
end;
end;
end;
close(fo);
end;
//-----------------------------------------
begin
nhap;
xuli;
readln;
end.
avatar
Tạ Thúy Phượng
Năng động
Năng động

Posts : 63
Reputation : -19
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: Số ghép nguyên tố

Bài gửi by tonguyengiahan237 on Tue Nov 27, 2018 4:11 pm

Code:
Program So_ghep_ngto;
Uses crt;
Type Mang=array[1..100] of longint;
Var a:Mang;
    j:longint;
    fo:text;

Function snt(n:Longint):boolean;
Var i:longint;
Begin
snt:=false;
If n<2 then exit;
If n=2 then
        begin
        snt:=true;
        exit;
        end
Else
For i:=2 to trunc(sqrt(n)) do
        If (n mod i=0) then exit;
snt:=true;
End;

Function  GHEP(a,b:longint):longint;
Var G:longint;
    st1,st2:string;
Begin
STR(a,st1);
STR(b,st2);
VAL(CONCAT(st1,st2),G);
GHEP:=G;
End;

Procedure Viet(Var A:Mang;Var j:longint;Var fo:text);
Var Dem,C,i,D:longint;
Begin
Assign(fo,'Sntghep.out');
Rewrite(fo);
dem:=0;
i:=1;
D:=1;
While D<=j do
Begin
If snt(i) then
        begin
        dem:=dem+1;
        A[dem]:=i;
        end;
If dem=2 then
        begin
        C:=GHEP(A[1],A[2]);
        dem:=0;
        end;
If not snt(C) then Write(fo,C);
Writeln(fo);
C:=2;
inc(D);
inc(i);
end;
Close(fo);
End;

BEGIN
CLRSCR;
Write('j=');readln(j);
While j>20 do
begin
write('gia tri ban vua nhap >20 --> Moi nhap lai:');readln(j);
end;
Viet(A,j,fo);
READLN;
END.
avatar
tonguyengiahan237
Teen Chính hiệu
Teen Chính hiệu

Posts : 28
Reputation : -2
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: Số ghép nguyên tố

Bài gửi by Nguyễn Hoàng Nam on Tue Nov 27, 2018 4:15 pm

Code:
program sntghep;
uses crt;
var fi,fo:text;
s:string;
i,j,k,h,n,f,t,d:longint;
a,b:array[1..100000] of string;
c:array[1..100] of longint;

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

procedure doc;
begin
        assign(fi,'Sntghep.inp');
        reset(fi);
        read(fi,j);
        close(fi);
end;

procedure ghi;
begin
assign(fo,'Sntghep.out');
rewrite(fo);
h:=2;i:=0;
k:=0;n:=0;
d:=0;
while n<j do
begin
        if nto(h) then
                begin
                        inc(i);
                        str(h,s);
                        a[i]:=a[i]+s;
                        inc(h);
                        delete(s,1,length(s));
                end else
                        inc(h);
        if i-2=d then
        begin
                begin
                        d:=i;
                        inc(k);
                        b[k]:=b[k]+a[i-1]+a[i];
                end;

        val(b[k],t,f);
        if nto(t) then
                begin
                        inc(n);
                        c[n]:=t;
                end;
        end;
end;
for i:=1 to n do
                writeln(fo,c[i]);
close(fo);
end;

begin
clrscr;
doc;
ghi;
readln;
end.
avatar
Nguyễn Hoàng Nam
Teen Chính hiệu
Teen Chính hiệu

Posts : 16
Reputation : -2
Join date : 06/11/2018
Age : 14

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

Về Đầu Trang Go down

Re: Số ghép nguyên tố

Bài gửi by lohan on Tue Nov 27, 2018 4:23 pm

Code:
program nt_ghep;
uses crt;
type Mang=array[1..20] of integer;
var a:Mang;
    j:longint;
    fo:text;
function snt(n:integer):boolean;
var i:integer;
begin
snt:=false;
If n<2 then exit;
If n=2 then
 begin
 snt:=true;
 exit;
 end;
For i:=2 to trunc(sqrt(n)) do
        If (n mod i=0) then exit;
        snt:=true;
End;
function  ghepso(a,b:longint):longint;
Var tam:longint;
    st1,st2:string;
Begin
STR(a,st1);
STR(b,st2);
VAL(CONCAT(st1,st2),tam);
GHEP:=tam;
End;
procedure Viet(Var A:Mang;Var j:longint;Var fo:text);
Var Dem,C,i,D:longint;
Begin
Assign(fo,'Sntghep.out');
Rewrite(fo);
dem:=0;
i:=1;
D:=1;
While D<=j do
Begin
If snt(i) then
        begin
        dem:=dem+1;
        A[dem]:=i;
        end;
If dem=2 then
        begin
        C:=GHEP(A[1],A[2]);
        dem:=0;
        end;
If not snt(C) then Write(fo,C);
Writeln(fo);
C:=2;
inc(D);
inc(i);
end;
Close(fo);
End;

BEGIN
CLRSCR;
Write('j=');readln(j);
Viet(A,j,fo);
READLN;
END.
avatar
lohan
Teen Chính hiệu
Teen Chính hiệu

Posts : 20
Reputation : -3
Join date : 06/11/2018
Age : 14

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

Về Đầu Trang Go down

Re: Số ghép nguyên tố

Bài gửi by thanhtruc on Wed Nov 28, 2018 2:14 pm

Code:
program ghep;
var i,n,j,d,sl:longint;
kh,d1,so,t:longint;
a,b:array[1..10000] of string;
fo,fi:text;
st:string;

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

procedure nhap;
begin
assign(fi,'sntghep.inp');
reset(fi);
read(fi,j);
close(fi);
end;

procedure xuli;
begin
assign(fo,'SNTGHEP.OUT');
rewrite(fo);
i:=2;
d:=0;
while d<j do
   begin
   if nto(i)=true then
      begin
      str(i,st);
      inc(s);
      a[s]:=a[s]+st;
      inc(i)
      end;
   else
   inc(i);
   if s-2=d1 then
      begin
         begin
         d1:=s;
         inc(sl);
         b[sl]:=a[s-1]+a[s];
         end;
      val(b[sl],so,t);
      if not nto(so)=true then
         begin
         inc(d);
         writeln(fo,so,#32);
         end;
      end;
   end;
close(fo);
end;
Begin;
nhap;
xuli;
readln;
end.
avatar
thanhtruc
Nhiệt tình
Nhiệt tình

Posts : 43
Reputation : -7
Join date : 25/06/2018
Age : 14
Location : TNPPTSBĐ

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

Về Đầu Trang Go down

Re: Số ghép 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