Đề thi Toán - Tin học trong nhà trường (Bài 35+36+37)
Chia sẻ bởi Thân Thị Thanh |
Ngày 18/10/2018 |
60
Chia sẻ tài liệu: Đề thi Toán - Tin học trong nhà trường (Bài 35+36+37) thuộc Sinh học 6
Nội dung tài liệu:
Bài 35/2000 - Các phân số được sắp 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 + 1 do
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 do
for t:=1 to m-1 do
begin
i:=1;
While (F[i,tu]*m < F[i,mau]*t) do 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 do
begin
If WhereX > 75 then writeln;
If WhereY > 24 then
begin
Write(`Nhan Enter de tiep tuc`);
Readln;
end;
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 từng chiếc cúc rồi cộng lại, ta được bảng sau:
Thứ tự
Số tiền
Cộng dồn
1
1
1
2
2
3
3
4
7
4
8
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ư vậy anh ta phải trả 262143 đồng và anh ta rõ ràng là bị "hố" nặng do phải trả gấp hơn 20 lần so với cách thứ nhất.
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;
Begin
If (N=0) or (N=1) then
Prime:=false
Else
Begin
i:=2;
While (N mod i <> 0) and (i <= Sqrt(N)) do 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 do
Begin
Kb:=0;
For k:=1 to ka do
For cs:=0 to 9 do
If Prime(a[k]*10+cs) then
Begin
Inc(kb);
b[kb]:=a[k]*10+cs;
end;
ka:=kb;
For k:=1 to ka do
a[k]:=b[k]; end;
For k:=1 to ka do
Write(a[k]:10);
Writeln;
Writeln(`Co tat ca`,ka,`so sieu nguyen to co`,N,`chu so.`);
Readln;
END.
(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 + 1 do
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 do
for t:=1 to m-1 do
begin
i:=1;
While (F[i,tu]*m < F[i,mau]*t) do 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 do
begin
If WhereX > 75 then writeln;
If WhereY > 24 then
begin
Write(`Nhan Enter de tiep tuc`);
Readln;
end;
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 từng chiếc cúc rồi cộng lại, ta được bảng sau:
Thứ tự
Số tiền
Cộng dồn
1
1
1
2
2
3
3
4
7
4
8
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ư vậy anh ta phải trả 262143 đồng và anh ta rõ ràng là bị "hố" nặng do phải trả gấp hơn 20 lần so với cách thứ nhất.
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;
Begin
If (N=0) or (N=1) then
Prime:=false
Else
Begin
i:=2;
While (N mod i <> 0) and (i <= Sqrt(N)) do 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 do
Begin
Kb:=0;
For k:=1 to ka do
For cs:=0 to 9 do
If Prime(a[k]*10+cs) then
Begin
Inc(kb);
b[kb]:=a[k]*10+cs;
end;
ka:=kb;
For k:=1 to ka do
a[k]:=b[k]; end;
For k:=1 to ka do
Write(a[k]:10);
Writeln;
Writeln(`Co tat ca`,ka,`so sieu nguyen to co`,N,`chu so.`);
Readln;
END.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Thân Thị Thanh
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)