[r]
(1)PHÒNG GD&ĐT ĐẠI LỘC
ĐỀ THI HỌC SINH GIỎI LỚP (NĂM HỌC 2016-2017) Môn: TIN HỌC (Thời gian: 150 phút)
Họ tên GV đề: NGUYỄN THỊ MỸ Đơn vị: Trường THCS Hoàng Văn Thụ Bài (5 điểm):
Viết chương trình cho phép nhập số nguyên dương N thực hiện: a) Cho biết N có phải lũy thừa số tự nhiên không?
b) Viết N dạng lũy thừa với số mũ số tự nhiên Viết KHONG N lũy thừa
c) Tìm số dư chia NN cho 7.
Ví dụ:
Nhập Xuất Giải thích
N=8 a) CO b) KHONG c)
8 lũy thừa số (8 = 23) không lũy thừa
88 chia dư 1 Bài (5 điểm):
Tìm tất số có bốn chữ số thỏa mãn tính chất: Nếu chọn xóa chữ số thích hợp số giảm lần
Ví dụ: Số 1350 chọn xóa số ta 150 Vì 150 = 1350 nên 1350 số cần tìm
Bài 3: (5 điểm)
Viết chương trình đổi số hệ thập phân số La Mã (Qui ước: L:50; C: 100; D: 500; M: 1000)
Ví dụ: 2415→ MMCCCCXV Bài 4:(5 điểm) Cặp số thân thiết
Hai số nguyên dương gọi thân thiết chúng có ước số nguyên tố lớn
Hãy viết chương trình kiểm tra xem hai số nguyên dương có cặp số thân thiết hay không?
Dữ liệu vào hai số nguyên dương a, b (1< a, b <1010) nhập từ bàn phím. Dữ liệu gồm:
- Ước nguyên tố lớn số;
- Kết luận: “La cap so than thiet” “Khong than thiet” Ví dụ:
Input Output
Nhap hai so: 18 2016 UNTLN tuong ung: 3, Khong than thiet
(2)HƯỚNG DẪN CHẤM
Bài 1: (5 điểm)
- Khai báo đủ biến chương trình : 0.5 điểm - Kiểm tra N có lập phương số nguyên : 0.5 điểm - Kiểm tra N có lũy thừa không? : 1.25 điểm
- Viết N dạng lũy thừa : 1.25 điểm
- Tìm số dư NN chia 7. : 1.0 điểm
- Kết xuất kết hình hồn thiện chương trình : 0.5 điểm CHƯƠNG TRÌNH MẪU
Program Tim; Program Luy_thua; Var N,P,i,r:integer; Begin
Write('Nhap so N:'); Readln(N); Write('a) Xet N la luy thua 3:'); P:=1;
While P*P*P<N P:=P+1; if P*P*P = N then
Writeln('CO') else
Writeln('KHONG'); P:=1; i:=0;
While P<N Begin P:=P*5; i:=i+1; end; Write('b) So N la luy thua cua 5:');
if P = N then
Writeln('N= 5^',i) Else
Writeln('KHONG'); r:=N mod 7;
For i:=1 to N-1 do Begin
r:=(r*N) mod 7;
End;
Writeln('c) So du la: ',r); Readln;
End.
Bài 2:(5 điểm)
- Khai báo đủ biến chương trình : 0.5 điểm - Duyệt qua tất số có bốn chữ số : 1.0 điểm
- Lập số : 1.5 điểm
- Xét điều kiện : 1.5 điểm
(3)CHƯƠNG TRÌNH MẪU Program bai2; Var a,b,c,d:byte;
So4,So31,so32,so33,so34:integer; Begin
For a:=1 to do For b:=0 to do For c:= to do For d:=0 to do
Begin
So4:=a*1000+b*100+c*10+d; So31:=b*100+c*10+d;
So32:=a*100+c*10+d; So33:=a*100+b*10+d; So34:=a*100+b*10+c;
if (So4=So31*9) or (So4=So32*9) or (So4=So33*9) or (So4=So34*9) then
Writeln(So4:6,So4 div 9:6); End;
Readln; End.
Bài 3:(5 điểm)
- Khai báo đủ biến chương trình : 0.5 điểm
- Nhập số : 0.5 điểm
- Đổi số lama : 3.0 điểm
- Kết xuất kết hình hồn thiện chương trình : 1.0 điểm CHƯƠNG TRÌNH MẪU
Program sobt;
var i, n:integer; BEGIN
repeat
write('Nhap n= '); Readln(n); Until (n>0) and (n<4000);
write ('Chuyen ',n,' sang so la ma:'); while n>=1000 do
Begin write('M'); n:=n-1000 end; while n>=500 do
Begin write('D'); n:=n-500 end; while n>=100 do
(4)Begin write('L'); n:=n-50 end; while n>=10 do
Begin write('X'); n:=n-10 end; Case n of
: write('IX'); : write('VIII'); : write('VII'); : write('VI'); : write('V'); : write('IV'); : write('III'); : write('II'); : write('I'); End;
Readln END.
Bài 4:(5 điểm)
- Khai báo đủ biến chương trình : 0.5 điểm
- Nhập n : 0.5 điểm
- Tìm số nguyên tố : 1.5 điểm
- Xử lý : 2.0 điểm
- Kết xuất kết hình hồn thiện chương trình : 0.5 điểm CHƯƠNG TRÌNH MẪU
Program Bai2; Uses Crt;
Var a,b:Longint; Procedure Nhap; Begin
Clrscr;
Write('Nhap hai so: '); Readln(a,b);
End;
Function Kt(n:Longint):Boolean; Var i:Longint;
d:Shortint; Begin
d:=0; Kt:=True;
(5)If (n mod i)=0 then d:=d+1; If d>0 then
Begin
Kt:=False; Break; End; End; End;
Procedure Xuli;
Var aa,bb,i,j:Longint; Begin
aa:=0; bb:=0;
For i:=a downto do
If (a mod i =0) and (Kt(i)) then Begin
aa:=i; Break; End;
For j:=b downto do
If ((b mod j = 0) and Kt(j)) then Begin
bb:=j; Break; End;
Writeln('UNTLN tuong ung: ',aa,', ',bb); If aa=bb then
Writeln('La cap so than thiet') Else
Writeln('Khong than thiet'); Readln