HD giải đề HSG Tin THCS Tỉnh Bình Định (2013-2014)
Chia sẻ bởi Lê Nguyên |
Ngày 16/10/2018 |
48
Chia sẻ tài liệu: HD giải đề HSG Tin THCS Tỉnh Bình Định (2013-2014) thuộc Tin học 9
Nội dung tài liệu:
SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH LỚP 9 THCS
BÌNH ĐỊNH KHÓA NGÀY 18-03-2014
ĐỀ CHÍNH THỨC Môn thi: TIN HỌC
Thời gian: 150 phút (Không kể thời gian phát đề)
Ngày thi: 18/03/2014
………………………………………..
Chú ý:
Các file dữ liệu *.INP, *.OUT lưu trong thư mục TINHOC9
Bài làm của thí sinh lưu trong thư mục TINHOC9. Ví dụ: D:TINHOC9SBD01
Bài 1. (6.0 điểm) :Tách số: Ten file chương trình: Tachso.Pas
Viết chương trình tách số nguyên dương A (A<200) thành tổng của hai số nguyên dương x và y sao cho ước chung lớn nhất d của x và y là lớn nhất trong các cách phân tích có được.
Yêu cầu:
● Dữ liệu vào: File text Tachso.INP chỉ có 1 dòng chứa số nguyên dương A.
● Dữ liệu ra: File text Tachso.OUT gồm 2 dòng:
- Dòng 1: Ghi số nguyên dương A.
- Dòng 2: Ghi ba số nguyên dương x, y, d; Các số cách nhau ít nhất một khoảng trắng.
Ví dụ:
Tachso.INP
Tachso.OUT
95
95
19 76 1 9
Program Bai1;
Uses Crt;
Const
fi=`tachso.inp`;
fo=`tachso.out`;
Var n,i,s,max:Integer;
f:text;
Function Uc(x,y:Integer):Integer;
Begin
While x<>y do
If x>y then x:=x-y
Else y:=y-x;
Uc:=x;
End;
Begin
{ Clrscr;}
Assign(f,fi);
Reset(f);
Readln(f,n);
Assign(f,fo);
Rewrite(f);
Writeln(f,n);
max:=1;
For i:= 2 to n div 2 do
If Uc(i,n-i)>max then
Begin
s:=i;
max:=Uc(i,n-i);
End;
If max>1 then
Writeln(f,s,` `,n-s,` `,Uc(s,n-s))
Else
Writeln(f,1,` `,n,` `,1);
Close(f);
End.
Bài 2. (7.0 điểm) Khai triển Cantor Tên file chương trình: Cantor.PAS
Khai triển Cantor của số tự nhiên N là biểu diễn số N dưới dạng:
N= ak.k! + ak-1.(k-1)! + … + a2.2! + a1.1!
Trong đó: 0 ≤ ak ≤ k và k!= 1.2.3…(k-1).k
Viết chương trình liệt kê các hệ số ak, ak-1,…, a3, a2, a1 trong khai triển Cantor của số tự nhiên N (N<50000) . Các hệ số cách nhau ít nhất một khoảng trắng.
Yêu cầu:
● Dữ liệu vào: File text Cantor.INP chỉ có 1 dòng chứa số nguyên dương N.
● Dữ liệu ra: File text Cantor.OUT gồm 2 dòng:
- Dòng 1: Ghi số nguyên dương N.
- Dòng 2: Liệt kê các hệ số ak, ak-1,…, a3, a2, a1 trong khai triển Cantor của số tự nhiên N. Các hệ số cách nhau ít nhất một khoảng trắng.
Ví dụ:
Cantor.INP
Cantor.OUT
2014
2014
2 4 3 3 2 0
Program Bai2;
Uses Crt;
Const fi=`Cantor.inp`;
fo=`Cantor.out`;
Var n,k,s:Word;
f:text;
Function gt(n:Byte):Word;
Var i:Byte;
p:Word;
Begin
p:=1;
For i:=2 to n do
p:=p*i;
gt:=p;
End;
Begin
Assign(f,fi);
Reset(f);
Readln(f,n);
Assign(f,fo);
Rewrite(f);
Writeln(f,n);
k:=1;
While
BÌNH ĐỊNH KHÓA NGÀY 18-03-2014
ĐỀ CHÍNH THỨC Môn thi: TIN HỌC
Thời gian: 150 phút (Không kể thời gian phát đề)
Ngày thi: 18/03/2014
………………………………………..
Chú ý:
Các file dữ liệu *.INP, *.OUT lưu trong thư mục TINHOC9
Bài làm của thí sinh lưu trong thư mục TINHOC9
Bài 1. (6.0 điểm) :Tách số: Ten file chương trình: Tachso.Pas
Viết chương trình tách số nguyên dương A (A<200) thành tổng của hai số nguyên dương x và y sao cho ước chung lớn nhất d của x và y là lớn nhất trong các cách phân tích có được.
Yêu cầu:
● Dữ liệu vào: File text Tachso.INP chỉ có 1 dòng chứa số nguyên dương A.
● Dữ liệu ra: File text Tachso.OUT gồm 2 dòng:
- Dòng 1: Ghi số nguyên dương A.
- Dòng 2: Ghi ba số nguyên dương x, y, d; Các số cách nhau ít nhất một khoảng trắng.
Ví dụ:
Tachso.INP
Tachso.OUT
95
95
19 76 1 9
Program Bai1;
Uses Crt;
Const
fi=`tachso.inp`;
fo=`tachso.out`;
Var n,i,s,max:Integer;
f:text;
Function Uc(x,y:Integer):Integer;
Begin
While x<>y do
If x>y then x:=x-y
Else y:=y-x;
Uc:=x;
End;
Begin
{ Clrscr;}
Assign(f,fi);
Reset(f);
Readln(f,n);
Assign(f,fo);
Rewrite(f);
Writeln(f,n);
max:=1;
For i:= 2 to n div 2 do
If Uc(i,n-i)>max then
Begin
s:=i;
max:=Uc(i,n-i);
End;
If max>1 then
Writeln(f,s,` `,n-s,` `,Uc(s,n-s))
Else
Writeln(f,1,` `,n,` `,1);
Close(f);
End.
Bài 2. (7.0 điểm) Khai triển Cantor Tên file chương trình: Cantor.PAS
Khai triển Cantor của số tự nhiên N là biểu diễn số N dưới dạng:
N= ak.k! + ak-1.(k-1)! + … + a2.2! + a1.1!
Trong đó: 0 ≤ ak ≤ k và k!= 1.2.3…(k-1).k
Viết chương trình liệt kê các hệ số ak, ak-1,…, a3, a2, a1 trong khai triển Cantor của số tự nhiên N (N<50000) . Các hệ số cách nhau ít nhất một khoảng trắng.
Yêu cầu:
● Dữ liệu vào: File text Cantor.INP chỉ có 1 dòng chứa số nguyên dương N.
● Dữ liệu ra: File text Cantor.OUT gồm 2 dòng:
- Dòng 1: Ghi số nguyên dương N.
- Dòng 2: Liệt kê các hệ số ak, ak-1,…, a3, a2, a1 trong khai triển Cantor của số tự nhiên N. Các hệ số cách nhau ít nhất một khoảng trắng.
Ví dụ:
Cantor.INP
Cantor.OUT
2014
2014
2 4 3 3 2 0
Program Bai2;
Uses Crt;
Const fi=`Cantor.inp`;
fo=`Cantor.out`;
Var n,k,s:Word;
f:text;
Function gt(n:Byte):Word;
Var i:Byte;
p:Word;
Begin
p:=1;
For i:=2 to n do
p:=p*i;
gt:=p;
End;
Begin
Assign(f,fi);
Reset(f);
Readln(f,n);
Assign(f,fo);
Rewrite(f);
Writeln(f,n);
k:=1;
While
* 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ẻ: Lê Nguyên
Dung lượng: 49,00KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)