Dap an va de thi HSG lop 9 mon Tin Truc Ninh nam20092010

5 6 0
Dap an va de thi HSG lop 9 mon Tin Truc Ninh nam20092010

Đang tải... (xem toàn văn)

Thông tin tài liệu

khẩu đã đưa cho mỗi bạn một con số khác nhau và sau đó nói rằng: Mật khẩu để cài đặt phần mềm là số nguyên dương nhỏ nhất gồm không quá chín chữ số chia hết cho bất cứ số nào trong các s[r]

(1)

PHÒNG GIÁO DỤC–ĐÀO TẠO

TRỰC NINH ĐỀ THI CHỌN HỌC SINH GIỎI NĂM HỌC 2009-2010Môn: TIN HỌC Lớp 9

¬

Thời gian làm bài: 120 phút (không kể thời gian giao đề)

LËp chơng trình giải toán sau: Bài (6,0 ®iÓm): D·y sè

Nhập vào dãy số nguyên, số nằm dòng gặp số dừng lại (số khơng đợc tính vào dãy) Yêu cầu in hình:

- Số lợng số thoả mÃn dÃy - Số lợng số nguyên dơng

- Số lợng số số nguyên tố - Số lợng sè chia hÕt cho 3

VÝ dơ minh ho¹ hình thực chơng trình: Nhap mot day so nguyen vao:

2 3 11 12 6 9 17 -8 2009 0

So cac so thoa man la:9 So cac so nguyen duong la:8 So cac so nguyen to la:4

So cac so chia het cho la:4 Bài (7,0 điểm): Trả tiền

Anh Nam chợ mua mặt hàng có giá trị N đồng Trong túi anh Nam có nhiều tờ tiền với mệnh giá 50 đồng, 100 đồng 200 đồng Anh Nam có nhiều cách trả tiền để mua mặt hàng (anh Nam dùng tờ tiền mà anh có sẵn Anh khơng đa thừa tiền cho ngời bán ngời bán khơng có tiền tr li).

Yêu cầu: Cho biết số tiền N (N nguyên 10<=N<=30000); đa tất các cách tr¶ tiỊn cđa anh Nam tháa m·n

Input: Vào từ file văn TRATIEN.INP chứa số tự nhiên N (10<= N<=30000)

Output: Ghi file văn TRATIEN.OUT có nhiều cách in mỗi cách dịng, khơng có cách in số -1

VÝ dơ minh hoạ hình thực chơng trình:

TRATIEN.INP TRATIEN.OUT

200 0 x 50 + x 100 + x 200

0 x 50 + x 100 + x 200 2 x 50 + x 100 + x 200 4 x 50 + x 100 + x 200 Bài ( 7,0 điểm) Mật

Một nhóm gồm k học sinh góp tiền mua phần mềm dùng chung Khi cài đặt phần mềm này, người sử dụng cần phải nhập vào mật Khi biết các khách hàng học sinh say mê tin học, chủ cửa hàng thay đưa mật

(2)

khẩu đưa cho bạn số khác sau nói rằng: Mật để cài đặt phần mềm số nguyên dương nhỏ gồm khơng q chín chữ số chia hết cho số số đưa cho bạn

Yêu cầu: Biết tất số mà chủ cửa hàng đưa cho học sinh, hãy tìm mật để cài đặt phần mềm.

Input: Vào từ file văn MATKHAU.INP Dòng chứa số học sinh k (k <20) Dòng thứ hai chứa k số nguyên dương nhỏ 20 mà ông chủ cửa hàng đưa cho học sinh, hai số liên tiếp cách dấu cách

Output: Ghi file văn MATKHAU.OUT mật tìm được. Ví dụ input output:

MATKHAU.INP MATKHAU.OUT

3

4 3 12

Chú ý: Bài đặt tên DAYSO.PAS Bài đặt tên TRATIEN.PAS Bài đặt tên MATKHAU.PAS

(3)

-HƯỚNG DẪN CHẤM Bài 1: 6,0 điểm

Văn chơng trình

- Mỗi Text cho (chạy chơng trình điểm) 2,0 đ

- Đa khuôn dạng không ỳng yờu cu tr 0,5

- Thuật toán không tèi u trõ 0,5®

uses crt;

var N,dem,demd,dem3,snt,i:longint; Nt:boolean;

g:text; begin

clrscr;

writeln('Nhap mot day so nguyen vao:'); dem:=0;demd:=0;dem3:=0;snt:=0;

repeat

readln(N);inc(dem); if N>0 then inc(demd); if N>1 then

begin Nt:=true;

for i:=2 to trunc(sqrt(N)) if N mod i=0 then NT:=False; if NT then inc(snt);

end;

if N mod 3=0 then inc(dem3); until N=0;

writeln('So cac so thoa man la:',dem-1); writeln('So cac so nguyen duong la:',demd); writeln('So cac so nguyen to la:',snt);

writeln('So cac so chia het cho la:',dem3-1); readln;

end

Bài 2: 7,0 điểm

- Mi Text cho 1,0 đ

- Đa khuôn dạng không yêu cầu trừ 0,5đ

- NÕu dùng vòng for trừ 0,5đ

Văn chơng trình Var N,a,b:Integer; f,g:text; kt:boolean; Begin

assign(f,'tratien.inp');reset(f); assign(g,'tratien.out');rewrite(g); read(f,N);

kt:=true;

If N mod 50=0 Then

For a:=0 to N div 50

For b:=0 to (N-50*a) div 100 If (N-50*a-100*b) mod 200 = then begin

Writeln(g,a,' x 50 + ',b,' x 100 + ',(N-50*a-100*b) div 200,' x 200'); kt:=false;

end;

(4)

TRATIEN.INP TRATIEN.OUT

200 x 50 + x 100 + x 200

0 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200

500 x 50 + x 100 + x 200

0 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200 x 50 + x 100 + x 200 10 x 50 + x 100 + x 200

1120 -1

1000 In 36 cach

10000 In 2601 cach

20000 In 10201 cach

30000 In 22801 cach

Bµi 3: 7,0 ®iĨm

- Mỗi Text cho 1,0 đ

- Thuật toán không tối u trừ 0,5đ

Văn chơng trình var f,g:text;

b,a:array[1 19] of Byte; T,kq,du:longint;

N,i:Byte; begin

assign(f,'matkhau.inp');reset(f); assign(g,'matkhau.out');rewrite(g); readln(f,N);

for i:=1 to N read(f,a[i]): kq:=a[1];

for i:=2 to N begin

T:=kq*a[i]; du:=kq mod a[i]; while du<>0 begin

kq:=a[i]; a[i]:=du;

du:=kq mod a[i]; end;

kq:=T div a[i]; end;

writeln(g,kq); close(f);close(g); end

MATKHAU.INP MATKHAU.OUT

3

(5)

MATKHAU.INP MATKHAU.OUT 15 16 17 18 19

5

9 10 11 12 13

25740 10

1 10

2520 10

10 11 12 13 14 15 16 17 18 19

232792560 15

1 10 11 12 13 14 15

360360 19

1 10 11 12 13 14 15 16 17 18 19

Ngày đăng: 29/05/2021, 08:23

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan