Bài tập tin 11 lập trình pascal

H

hoangha8394

Bài này n chỉ có <=100 thì có thể sinh hết ra rồi đọc n vào và in ra a[n];

code core của mình như sau(chưa biên dịch và chạy thử :D )

Procedure prepare;
begin
a[1]:=1;
n:=1;j:=1;
// tìm n số đầu tiên(không phải số n đọc vào nhá)
while n<100 do
begin
p:=2*a[j]+1;
t:=3*a[j]+1;
ok:=true;
for i:=1 to n do if a=p then
begin
ok:=false;
break;
end;
if ok then
begin
inc(n);
a[n]:=p;
end;
ok:=true;
for i:=1 to n do if a=t then
begin
ok:=false;
break;
end;
if ok then
begin
inc(n);
a[n]:=t;
end;
end;
// sắp xếp lại
for i:=1 to n-1 do
for j:=i+1 to n do
if a>a[j] then
begin
tg:=a;a:=a[j];a[j]:=tg;
end;
//in ra n số
for i:=1 to n do write(a,#32);
end;
 
Top Bottom