De thi học sinh giỏi Tin học THCS


1SỞ GIÁO DỤC VÀ ĐÀO TẠO KIÊN GIANG KỲ THI CHỌN HỌC SINH GIỎI VÒNG TỈNH LỚP 9 THCS NĂM HỌC 2012-2013 ĐÁP ÁN CHÍNH THỨC MÔN THI: TIN HỌC Thời gian làm bài: 150 phút (không kể thời gian giao đề) (Đáp án gồm 02 trang) Ngày thi: 01/3/2013 Bài 1: (5.0 điểm) Test 1: N=18 18=3+4+5+618=5+6+7 1.5 điểm Test 2: N=6 6=1+2+3 1.0 điểm Test 3: N=16 Khong ton tai day so 1.0 điểm Test 4: N=21 21=1+2+3+4+5+621=6+7+8 21=10+11 1.0 điểm Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn 0.5 điểm Bài 2: (5.0 điểm) Test 1: N=15 N=30 15=13+2 30=21+8+1 1.5 điểm Test 2: N=222 222=144+55+21+2 1.0 điểm Test 3: N=12345 12345=10946+987+377+34+1 1.0 điểm Test 4: N=999999999 999999999=701408733+267914296+24157817+5702887+514229+196418+75025+28657+1597+233+89+13+5 1.0 điểm Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn 0.5 điểm Bài 3: (5.0 điểm) Test 1: N=10 A1=4 A6=11 A2=5 A7=8 A3=12 A8=14 A4=5 A9=9 A5=4 A10=4 Cac so xuat hien trong mang la: 4, 5, 12, 11, 8, 14, 9 So xuat hien nhieu nhat trong mang la: 4 1.5 điểm Test 2: N=20 A1=2 A11=17 A2=5 A12=5 A3=12 A13=16 A4=5 A14=35 A5=2 A15=74 A6=11 A16=5 A7=8 A17=2 A8=14 A18=17 A9=9 A19=41 A10=2 A20=2 Cac so xuat hien trong mang la: 2, 5, 12, 11, 8, 14, 9, 17, 16, 35, 74, 41 So xuat hien nhieu nhat trong mang la: 2 1.0 điểm Test 3: N=6 A1=11 A4=44 A2=22 A5=55 A3=33 A6=33 Cac so xuat hien trong mang la: 11, 22, 33, 44, 55 So xuat hien nhieu nhat trong mang la: 33 1.0 điểm 2Test 4: N=20 A1=2 A11=1 A2=2 A12=2 A3=3 A13=3 A4=1 A14=2 A5=4 A15=4 A6=2 A16=5 A7=3 A17=1 A8=1 A18=3 A9=2 A19=2 A10=4 A20=4 Cac so xuat hien trong mang la: 2, 3, 1, 4,5 So xuat hien nhieu nhat trong mang la: 2 1.0 điểm Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn 0.5 điểm Bài 4: (5.0 điểm) Test 1: - Nhap vao tien gui ban dau: 500000 - So thang muon gui: 8 - So tien duoc sau sau 8 thang la: 521240.92 1.5 điểm Test 2: - Nhap vao tien gui ban dau: 123456789 - So thang muon gui: 1 - So tien duoc sau sau 1 thang la: 123580245.79 1.0 điểm Test 3: - Nhap vao tien gui ban dau: 250000000 - So thang muon gui: 3 - So tien duoc sau sau 3 thang la: 255000000.00 1.0 điểm Test 4: - Nhap vao tien gui ban dau: 2000000000 - So thang muon gui: 34 - So tien duoc sau sau 34 thang la: 2489235365.41 1.0 điểm Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn 0.5 điểm HẾT Trang 1/5 SỞ GIÁO DỤC & ĐÀO TẠO LÂM ĐỒNG ĐỀ THI CHÍNH THỨC (Đề thi có 02 trang, gồm 3 bài) KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH NĂM HỌC 2010 - 2011 Môn : TIN HỌC - THCS Thời gian : 150 phút (không kể thời gian giao đề) Ngày thi : 18/2/2011 Cấu trúc đề thi: STT Tên bài Tên file bài làm Tên file INPUT Tên file OUTPUT 1 PHẦN TỬ YÊN NGỰA PTYN.PAS PTYN.INP PTYN.OUT 2 TỔNG CÁC SỐ FIBONACI FIBO.PAS FIBO.INP FIBO.OUT 3 CHỌN PHẦN THƯỞNG PTHUONG.PAS PTHUONG.INP PTHUONG.OUT Bài 1: (6 điểm) PHẦN TỬ YÊN NGỰA Cho mảng 2 chiều A có kích thước MxN số nguyên. Phần tử A[i,j] được gọi là phần tử yên ngựa nếu nó là phần tử nhỏ nhất trong hàng i đồng thời là phần tử lớn nhất trong cột j. Em hãy lập chương trình tìm phần tử yên ngựa của mảng A. Dữ liệu vào: cho file PTYN.INP gồm: - Dòng đầu tiên gồm 2 số M, N (0 ≤ M,N ≤100) - M dòng tiếp theo, mỗi dòng gồm có N số nguyên của mảng A (các giá trị cách nhau ít nhất 1 khoảng cách). Dữ liệu ra: ghi ra file PTYN.OUT vị trí của các phần tử yên ngựa (nếu có) hoặc dòng thông báo “Không có phần tử yên ngựa”. Ví dụ: PTYN.INP PTYN.OUT 3 3 15 3 9 55 4 6 76 1 2 (2,2) Hoặc : PTYN.INP PTYN.OUT 3 3 15 10 5 55 4 6 76 1 2 Khong co phan tu yen ngua Bài 2: (7 điểm) TỔNG CÁC SỐ FIBONACI Dãy Fibonaci là dãy gồm các số: 1, 1, 2, 3, 5, 8, được xác định bởi công thức sau: F1=1, F2=1, Fi=Fi-1+Fi-2 với i>2. Em hãy biểu diễn một số tự nhiên N thành tổng của ít nhất các số Fibonaci khác nhau. Dữ liệu vào: cho file FIBO.INP chứa số N (N ≤ 2000000000) Dữ liệu ra: ghi ra file FIBO.OUT biểu diễn số N thành tổng của ít nhất các số Fibonaci khác nhau. Trang 2/5 Ví dụ: FIBO.INP FIBO.OUT 129 129 = 89 + 34 + 5 + 1 Hoặc FIBO.INP FIBO.OUT 8 8 = 8 Bài 3: (7 điểm) CHỌN PHẦN THƯỞNG Trong kỳ thi học sinh giỏi môn Tin học, em là người đạt giải đặc biệt. Ban tổ chức cho phép em chọn các phần thưởng cho mình. Các phần thưởng xếp thành một dãy được đánh số từ 1 đến N (0 ≤ N ≤ 10000), phần thưởng thứ i có giá trị là ai (1 ≤ ai ≤ 100). Em được phép chọn các phần thưởng cho mình theo nguyên tắc không chọn 3 phần thưởng liên tiếp nhau trong dãy. Viết chương trình để máy tính hướng dẫn em chọn các phần thưởng sao cho tổng giá trị của các phần thưởng nhận được là lớn nhất. Dữ liệu vào: cho file PTHUONG.INP gồm các dòng: - Dòng đầu tiên là số phần thưởng N - N dòng tiếp theo lần lượt là giá trị của các phần thưởng. Dữ liệu ra: ghi ra file PTHUONG.OUT gồm các dòng: - Dòng đầu tiên ghi tổng giá trị lớn nhất của các phần thưởng đã chọn - Dòng tiếp theo ghi vị trí của các phần thưởng đã chọn theo thứ tự tăng dần. Ví dụ: PTHUONG.INP PTHUONG.OUT 5 6 9 1 3 5 23 1 2 4 5 Hoặc PTHUONG.INP PTHUONG.OUT 7 6 9 1 3 5 10 4 32 1 2 4 6 7 HẾT Họ và tên thí sinh: Số báo danh: Giám thị 1: Ký tên: Giám thị 2: Ký tên: Trang 3/5 SỞ GIÁO DỤC & ĐÀO TẠO KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH LÂM ĐỒNG NĂM HỌC 2010 – 2011 HƯỚNG DẪN CHẤM ĐỀ CHÍNH THỨC Môn : TIN HỌC - THCS Ngày thi : 18/2/2011 Bài 1: (6 điểm) Có 6 bộ TEST, chạy đúng mỗi bộ cho 1 điểm. STT TEST.INP TEST.OUT 1 3 3 15 3 9 55 4 6 76 1 2 (2,2); 2 3 4 15 10 8 8 55 4 6 2 76 9 12 7 (1,4); 3 3 4 15 10 8 8 55 4 6 2 76 9 12 8 (1,4); (3,4) 4 4 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (1,1); (1,2); (1,3); (1,4); (1,5); (2,1); (2,2); (2,3); (2,4); (2,5); (3,1); (3,2); (3,3); (3,4); (3,5); (4,1); (4,2); (4,3); (4,4); (4,5); 5 TEST5INP (dữ liệu trên đĩa hướng dẫn chấm) Khong co phan tu yen ngua 6 TEST6INP (dữ liệu trên đĩa hướng dẫn chấm) (6,1) Bài 2: (7 điểm) Có 7 bộ TEST, chạy đúng mỗi bộ cho 1 điểm. STT TEST.INP TEST.OUT 1 10 10 = 8 + 2 2 89 89 = 89 3 129 129 = 89 + 34 + 5 + 1 4 1000 1000 = 987 + 13 5 11594 11594 = 10946 + 610 + 34 + 3 + 1 6 14930352 14930352 = 14930352 7 246854244 246854244 = 165580141 + 63245986 + 14930352 + 2178309 + 832040 + 75025 + 10946 + 987 + 377 + 55 + 21 + 5 Bài 3: (7 điểm) Có 7 bộ TEST, chạy đúng mỗi bộ cho 1 điểm. Trang 4/5 STT TEST.INP TEST.OUT 1 5 6 9 1 3 5 23 1 2 4 5 2 7 6 9 1 3 5 10 4 32 1 2 4 6 7 3 5 2 2 2 2 2 8 1 2 4 5 4 100 1 2 3 4 … 99 100 3400 1 3 4 6 7 9 10 12 13 15 16 18 19 21 22 24 25 27 28 30 31 33 34 36 37 39 40 42 43 45 46 48 49 51 52 54 55 57 58 60 61 63 64 66 67 69 70 72 73 75 76 78 79 81 82 84 85 87 88 90 91 93 94 96 97 99 100 5 3 1 2 3 5 2 3 6 5 1 0 3 0 4 8 1 3 5 7 10 1 6 3 20 4 23 4 57 241 1 2 4 6 7 9 10 Trang 5/5 87 100 HẾT Trang 1/ 2SỞ GD&ĐT NINH BÌNH ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 THCS Năm học 2012 – 2013 MÔN:TIN HỌC (Thời gian làm bài 150 phút, không kể thời gian giao đề) Đề thi gồm 03 câu, trong 02 trang Yêu cầu kỹ thuật: * Các file chương trình và file dữ liệu được đặt tên chính xác như sau: Tên bài File bài làm Dữ liệu vào Dữ liệu ra Time Bài 1: Số siêu nguyên tố SNT.PAS SNT.INP SNT.OUT 2s Bài 2: Trò chơi với băng số DIV.PAS DIV.INP DIV.OUT 2s Bài 3: Bài toán ô vuông SQUARE.PAS SQUARE.INP SQUARE.OUT 2s Bài 1: Số siêu nguyên tố (8 điểm) File bài làm: SNT.PAS Tại Vương quốc Byte xinh đẹp, mỗi người luôn chọn cho mình một con số, theo họ số nguyên tố là số mang lại sự may mắn và ai tìm được một số siêu nguyên tố còn may mắn hơn nữa. Số siêu nguyên tố là một số nguyên tố mà khi bỏ 1 số tùy ý các chữ số bên phải của nó thì phần còn lại vẫn là 1 số nguyên tố. Số 2333 là 1 số siêu nguyên tố vì 2333 là một số nguyên tố và 233, 23, 2 cũng là các số nguyên tố. Dữ liệu vào: SNT.INP Chứa một số nguyên dương n (n ≤ 109) Dữ liệu ra: SNT.OUT Nếu N là siêu nguyên tố ghi giá trị 1, ngược lại ghi giá trị 0 Ví dụ: Bài 2. Trò chơi với băng số (8 điểm) File bài làm DIV.PAS Cho một băng số gồm n số nguyên dương, mỗi số được viết trên một ô. Hãy cắt băng số này thành nhiều đoạn nhất sao cho tổng các phần tử trong các đoạn là bằng nhau. Dữ liệu vào: DIV.INP + Dòng đầu ghi n (n ≤ 1000) + Dòng tiếp theo ghi n số nguyên dương a1, a2, , an (các số nằm trên một dòng cách nhau bởi một dấu cách ai ≤ 1000) Dữ liệu ra: DIV.OUT Ghi K là số đoạn cần chia. Ví dụ: DIV.INP DIV.OUT Giải thích 8 10 2 6 2 5 2 1 2 3 Đoạn 1: 10 Đoạn 2: 2 + 6 + 2 =10 Đoạn 3: 5 + 2 + 1 + 2 = 10 ĐỀ THI CHÍNH THỨC SNT.INP SNT.OUT 2333 1 SNT.INP SNT.OUT 13 0 SNT.INP SNT.OUT 2333 1 SNT.INP SNT.OUT 13 0 10 2 6 2 5 2 1 2 10 2 6 2 5 2 1 2 Trang 2/ 2Bài 3: Bài toán ô vuông (4 điểm) File bài làm: SQUARE.PAS Cho một bảng chữ nhật gồm m * n điểm (gồm m hàng ngang trên mỗi hàng có n điểm). Các điểm liền kề trên cùng một hàng hoặc một cột có thể được nối với nhau bởi một đoạn thẳng có kích thước bằng 1. Trên mỗi hàng có nhiều nhất n - 1 đoạn thẳng nằm ngang nối các điểm liền nhau, trên mỗi cột có nhiều nhất là m - 1 đoạn thẳng thẳng đứng nối các điểm liền nhau. Xem hình dưới: Với bảng trên ta có 3 hàng ngang mỗi hàng 5 điểm. Các đoạn thẳng nối chúng tạo nên 2 ô vuông. Để mô tả bảng người ta dùng hai mảng nhị phân: mảng Ngang diễn tả các đoạn thẳng nằm ngang, mảng Dọc biểu diễn các đoạn thẳng thẳng đứng. Trong các mảng, số 1 diễn tả có đoạn thẳng nối hai điểm liên tiếp, số 0 diễn tả không có đoạn thẳng nối hai điểm liên tiếp. Yêu cầu: Lập trình đếm số lượng các ô vuông mà cạnh có độ dài bằng 1 tạo bởi các đoạn nối có trên bảng đã cho. Dữ liệu vào: SQUARE.INP + Dòng đầu tiên gồm 2 số nguyên dương lần lượt là m, n (m, n ≤ 1000). Hai số cách nhau một khoảng trắng. + m dòng tiếp theo diễn tả các đoạn thẳng nằm ngang (như bảng ngang mô tả ở phần trên). Hai số liền nhau cách nhau một khoảng trắng. + m - 1 dòng tiếp theo diễn tả các đoạn thẳng thẳng đứng (như bảng dọc mô tả ở phần trên). Hai số liền nhau cách nhau một khoảng trắng. Dữ liệu ra : SQUARE.OUT + Số lượng ô vuông có độ dài cạnh bằng 1. Ví dụ: SQUARE.INP SQUARE.OUT 3 5 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 2 HẾT Họ và tên thí sinh : Số báo danh Họ và tên, chữ ký: Giám thị 1: Họ và tên, chữ ký: Giám thị 2: Ngang: Dọc: 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 Trang 3/ 2 SỞ GD&ĐT NINH BÌNH HDC ĐỀ THI CHỌN HSG LỚP 9 THCS Năm học 2012 – 2013 MÔN: Tin học (Hướng dẫn chấm gồm 03 trang) I. HƯỚNG DẪN CHUNG Chấm tự động bằng phần mềm AMM2 với các bộ test có sẵn trên đĩa CD. II. ĐÁP ÁN VÀ THANG ĐIỂM 1. Cấu trúc bộ test và thang điểm Bài Test Điểm Bài 1 Gồm 16 bộ test, mỗi bộ 0.5 điểm. 8 điểm Bài 2 Gồm 16 bộ test, mỗi bộ 0.5 điểm. 8 điểm Bài 3 Gồm 16 bộ test, mỗi bộ 0.25 điểm. 4 điểm 2. Đáp án Hết Bài 1: Const fi = 'SNT.INP'; Fo = 'SNT.OUT'; var n: longint; f:text; kq: boolean; function nt(n: longint):boolean; var i: longint; begin if n<2 then exit(false); if n=2 then exit(true); for i:=2 to trunc(sqrt(n)) do if n mod i = 0 then exit(false); exit(true); end; begin assign(f,fi); reset(f); readln(f,n); close(f); kq:= true; while n<>0 do begin kq:= kq and nt(n); n:= n div 10; end; assign (f,fo); rewrite(f); if kq then write(f,'1') else write(f,'0'); close(f); end. Bài 2: const Trang 4/ 2 tfi='DIV.INP'; tfo='DIV.OUT'; var n: longint; a, s: array[0 1001] of longint; res: longint; function ok(t: longint): boolean; var i,u,tong: longint; begin tong:=0; for i:=1 to n do if a[i]<>0 then begin tong:=tong+a[i]; if tong=t then tong:=0; end; exit(tong=0); end; procedure main; var j,u,i,k,t: longint; begin assign(input,tfi); reset(input); assign(output,tfo); rewrite(output); read(n); for i:=1 to n do read(a[i]); s[0]:=0; for i:=1 to n do s[i]:=s[i-1]+a[i]; for k:=n downto 1 do if s[n] mod k=0 then begin t:=s[n] div k; if ok(t) then begin res:=k; break; end; end; writeln(res); close(input); close(output); end; BEGIN main; END. Bài 3 const fi='SQUARE.INP'; fo='SQUARE.OUT'; var f:text; a,nga,doc:array[1 1000,1 1000] of integer; Trang 5/ 2 i,m,n,d,j:integer; procedure nhap; var i,j:integer; begin assign(f,fi); reset(f); readln(f,m,n); for i:=1 to m do begin for j:=1 to n-1 do read(f,nga[i,j]); readln(f); end; for i:=1 to m-1 do begin for j:=1 to n do read(f,doc[i,j]); readln(f); end; end; begin nhap; d:=0; for i:=1 to m-1 do for j:=1 to n-1 do if nga[i,j]+nga[i+1,j]+doc[i,j]+doc[i,j+1]=4 then inc(d); assign(f,fo); rewrite(f); write(f,d); close(f); end. 1/2 Sở Gd&Đt kỳ thi CHọN học sinh giỏi lớp 9 tHCS Quảng bình năm học 2012- 2013 Môn thi: tin học Đề thi chính thức (Khóa thi ngày 27 tháng 3 năm 2013) Số Báo Danh: Thời gian làm bài: 150 phút (không kể thời gian giao đề) ( thi gm cú 02 trang) RA S dng ngụn ng lp trỡnh Turbo Pascal lp trỡnh gii cỏc bi toỏn sau: Cõu 1: (3,0 im) Phn thng PT.PAS Trong cuc thi gii toỏn qua mng internet mi hc sinh u cú s im tớch ly riờng ca mỡnh. S im tớch ly ca mi hc sinh l mt s nguyờn dng K (0 < K 2ì109). i tuyn ca trng THCS Ti Nng cú N hc sinh tham gia d thi (2 N 100). Ti bui gp mt trc k thi cp tnh, thy hiu trng quyt nh thng cho cỏc hc sinh trong i tuyn Q triu ng, bit rng im tớch ly ca mi hc sinh u chia ht cho Q. Yờu cu: Hóy tỡm s nguyờn dng Q ln nht. D liu vo: Cho trong file vn bn PT.INP cú cu trỳc nh sau: - Dũng 1: Ghi s nguyờn dng N l s lng hc sinh. - Dũng 2: Ghi N s nguyờn dng ln lt l im tớch ly ca N hc sinh, cỏc s c ghi cỏch nhau ớt nht mt du cỏch. D liu ra: Ghi ra file vn bn PT.OUT theo cu trỳc nh sau: - Dũng 1: Ghi s nguyờn dng Q tỡm c. Vớ d: PT.INP PT.OUT 5 15 24 45 36 27 3 Thi gian thc hin chng trỡnh khụng quỏ 1 giõy cho mi b d liu vo. Cõu 2: (3,5 im) Mt khu MK.PAS Cu Tớ thng xuyờn tham gia thi lp trỡnh trờn mng. Vỡ t c thnh tớch cao nờn Tớ c gi tng mt phn mm dit virus. Nh sn xut phn mm cung cp cho Tớ mt mó s l mt s nguyờn dng N cú khụng quỏ 255 ch s. ci t c phn mm, Tớ phi nhp vo mt khu ca phn mm. Mt khu l mt s nguyờn dng M c to ra bng cỏch tớnh tng giỏ tr cỏc ch s ca N. Yờu cu: Hóy tỡm s nguyờn dng M. D liu vo: Cho trong file vn bn MK.INP cú cu trỳc nh sau: - Dũng 1: Ghi s nguyờn dng N. D liu ra: Ghi ra file vn bn MK.OUT theo cu trỳc nh sau: - Dũng 1: Ghi s nguyờn dng M tỡm c. Vớ d: MK.INP MK.OUT 84915388247 59 2/2 Câu 3: (3,5 điểm) Tần suất TS.PAS Cho tập hợp S có N phần tử nguyên dương {s1, s2,…, sN}. (1 ≤ N ≤ 32000; 0 < si ≤ 32000; 1 ≤ i ≤ N) Yêu cầu: Hãy liệt kê các phần tử trong S có số lần xuất hiện lớn hơn một lần. Dữ liệu vào: Cho trong file văn bản TS.INP có cấu trúc như sau: - Dòng 1: Ghi số nguyên dương N. - Dòng 2: Ghi N số nguyên dương là giá trị các phần tử của tập hợp S, các số được ghi cách nhau ít nhất một dấu cách. Dữ liệu ra: Ghi ra file văn bản TS.OUT trên nhiều dòng, dòng thứ i ghi 2 số si di, hai số cách nhau một dấu cách. Trong đó si là phần tử xuất hiện trong S lớn hơn một lần và di tương ứng là số lần si xuất hiện. Ví dụ: TS.INP TS.OUT 7 2 5 5 3 5 3 9 3 2 5 3 ==HẾT== 3/2 Së Gd&§t kú thi CHäN häc sinh giái líp 9 THCS Qu¶ng b×nh n¨m häc 2012 - 2013 m«n: tin häc h−íng dÉn chÊm I- Phương pháp: - Giám khảo tạo bộ dữ liệu vào, tính toán kết quả. Thực hiện chương trình của học sinh và so sánh kết quả. - Giám khảo có thể sử dụng chương trình gợi ý dưới đây để tính toán kết quả của dữ liệu vào. - Chương trình học sinh đúng một bộ test, giám khảo cho 0.5 điểm. Như vậy, nếu một câu có 3 điểm thì giám khảo phải tạo 6 bộ test. - Đối với câu 1: Giám khảo phải tạo được 01 bộ test có N = 100, 01 bộ test có các giá trị K > 65535 và 01 bộ test chấm được thời gian thực hiện chương trình của học sinh với N=100 và K > 65000×103. - Đối với câu 2: Giám khảo phải tạo được 01 bộ test có K > 200. - Đối với câu 3: Giám khảo phải tạo được 01 bộ test có N = 32000. II- Chương trình gợi ý: Câu 1: (3,0 điểm) Phần thưởng Program Phan_thuong; Const fi='PT.INP'; fo='PT.OUT'; Type mmc=Array[0 101] of Longint; Var N:Longint; A:mmc; Function UCLN(x,y:Longint):Longint; Var sodu:Word; Begin sodu:=x mod y; While sodu<>0 do Begin x:=y; y:=sodu; sodu:=x mod y; End; UCLN:=y; End; Procedure Read_Data; Var f:text; i:Longint; Begin Assign(f,fi); Reset(f); Readln(f,N); For i:=1 to N do Read(f,A[i]); Close(f); End; Function USC:Longint; Var f:text; i,mUSC:longint; Begin mUSC:=UCLN(A[1],A[2]); for i:= 3 to N do mUSC:=UCLN(mUSC,A[i]); USC:=mUSC; End; Procedure Write_Data; Var f:Text; Begin Assign(f,fo); Rewrite(f); Write(f,USC); Close(f); 4/2 End; BEGIN Read_Data; Write_Data; End. Câu 2: (3,5 điểm) Mật khẩu Program Mat_khau; Const fi='MK.INP'; fo='MK.OUT'; A:Array['0' '9'] of Byte = (0,1,2,3,4,5,6,7,8,9); Var N:byte; St:String; Procedure Read_Data; Var f:text; Begin Assign(f,fi); Reset(f); Readln(f,St); Close(f); End; Function Tong:Longint; Var f:text; i,T:Longint; Begin T:=0; For i:=1 to Length(St) do T:=T+A[St[i]]; Tong:=T; End; Procedure Write_Data; Var f:Text; Begin Assign(f,fo); Rewrite(f); Write(f,Tong); Close(f); End; BEGIN Read_Data; Write_Data; End. Câu 3: (3,5 điểm) Tần suất {$R+} const fi='TS.INP'; fo='TS.INP'; type mmc=array[0 32000] of word; var a:mmc; f:text; n,d:word; i,x:word; Time:Longint;Times:Longint absolute 0:$46C; Begin Time:=Times; Fillchar(A,sizeof(A),0); assign(f,fi); reset(f); readln(f,n); For i:=1 to n do Begin read(f,x); a[x]:=a[x]+1; End; close(f); assign(f,fo); rewrite(f); For i:=0 to 32000 do if a[i]>1 then writeln(f,i,' ',a[i]); close(f); Writeln((Times-Time)/18.2:0:0); Readln; End. 5/2