[r]
(1)Bài 35/2000 - Các phân số xếp (Dành cho học sinh THPT)
Program bai35; Uses crt;
Type Phanso = (tu, mau);
Var F: array[1 4000, phanso] of integer; N, dem : Integer;
Procedure nhap; Begin
Write('Nhap so N:'); Readln(N); F[1,tu] := 0; F[1,mau] := 1; dem := 2; F[dem, tu] := 1; F[dem,mau] := 1; End;
Procedure Chen(t,m,i:Integer); Var j:integer;
Begin Inc(dem);
For j := dem downto i + begin
F[j,tu] := F[j-1,tu]; F[j,mau] := F[j-1,mau]; end;
F[i,tu] := t; F[i,mau] := m; End;
Program xuli; Var t,m,i:integer; Begin
for m:=2 to N for t:=1 to m-1 begin
i:=1;
While (F[i,tu]*m < F[i,mau]*t) inc(i); If (F[i,tu]*m > F[i,mau]*t) then chen(t,m,i); end;
End;
Procedure xuat; var i:integer; Begin
for i:=2 to dem begin
If WhereX > 75 then writeln; If WhereY > 24 then
begin
Write('Nhan Enter de tiep tuc'); Readln;
(2)write('Tat ca co', dem,' phan so.'); Readln;
End; BEGIN nhap; xuli; Xuat; END
Bài 36/2000 - Anh chàng hà tiện (Dành cho học sinh Tiểu học)
Liệt kê số tiền phải trả cho cúc cộng lại, ta bảng sau: Thứ tự Số tiền Cộng dồn
1 1
2
3
4 15
5 16 31
6 32 63
7 64 127
8 128 255
9 256 511
10 512 1023
11 1024 2047
12 2048 4095
13 4096 8191
14 8192 16383
15 16384 32767
16 32768 65535
17 65536 131071
18 131072 262143
(= 218 -1)
Như phải trả 262143 đồng rõ ràng bị "hố" nặng phải trả gấp 20 lần so với cách thứ
Bài 37/2000 - Số siêu nguyên tố (Dành cho học sinh THCS) Program Bai37;
{SuperPrime};
var a,b: array [1 100] of longint; N,i,k,ka,kb,cs: byte;
Function Prime(N: longint): boolean; Var i: longint;
(3)If (N=0) or (N=1) then Prime:=false
Else Begin i:=2;
While (N mod i <> 0) and (i <= Sqrt(N)) Inc(i); If i > Sqrt(N) then
Prime:=true Else Prime:=false; End;
End; BEGIN
Write ('Nhap N: '); Readln (N); ka:=1; a[ka]:=0; For i:=1 to N Begin
Kb:=0;
For k:=1 to ka For cs:=0 to
If Prime(a[k]*10+cs) then Begin
Inc(kb);
b[kb]:=a[k]*10+cs; end;
ka:=kb;
For k:=1 to ka a[k]:=b[k]; end; For k:=1 to ka Write(a[k]:10); Writeln;
Writeln('Co tat ca',ka,'so sieu nguyen to co',N,'chu so.'); Readln;