Một hôm Sơn nói: “Nếu anh chọn một chữ số, em chọn một chữ số thì chữ số tận cùng của tích hai số anh em mình chọn là số nào nhỉ?”.. Là một người yêu thích Toán học, Sơn yêu cầu anh phải[r]
(1)HỘI THI TIN HỌC TRẺ TỈNH VĨNH PHÚC LẦN THỨ XI - NĂM 2016 ĐỀ THI PHẦN LẬP TRÌNH - BẢNG B Thời gian làm bài: 120 phút, không kể thời gian giao đề ———————————— TỔNG QUAN STT Tên bài File chương trình Tìm cặp số Biến đổi dãy số Chữ số tận cùng PON.*** CHANGE.*** NUMBER.*** File liệu File kết PON.INP PON.OUT CHANGE.INP CHANGE.OUT NUMBER.INP NUMBER.OUT Điểm 20 20 30 Thời gian 1s/test 1s/test 1s/test Lưu ý: - Thí sinh thay “.***” “.PAS” “.CPP” tuỳ thuộc theo ngôn ngữ lập trình mà thí sinh lựa chọn là Turbo Pascal (Free Pascal) C/C++; - Thí sinh đặt đúng tên file theo yêu cầu; - Đề thi có 02 trang Lập chương trình giải các bài toán sau: Bài Tìm cặp số Ước số chung lớn số nguyên dương a và b (ký hiệu là ƯCLN(a, b)) là số nguyên lớn p mà a và b chia hết cho p Bội số chung nhỏ số nguyên dương a và b (ký hiệu là BCNN(a, b)) là số nguyên dương nhỏ q mà q đồng thời chia hết cho a và b Ví dụ: ƯCLN(15, 20) = 5; BCNN(15, 20) = 60 Tùng nhanh chóng nhận có cặp số nguyên có cùng ƯCLN và BCNN Với số nguyên dương a, b cho trước, Tùng muốn tìm cặp số x và y gần nhất, tức là y - x nhỏ và ƯCLN(a, b) = ƯCLN(x, y), BCNN(a, b) = BCNN(x, y) Yêu cầu: Với a và b cho trước hãy xác định x và y Dữ liệu vào: (PON.INP) Dòng 1: Ghi số nguyên a và b (1 ≤ a, b ≤ 109), số cách ít ký tự trắng Kết quả: (PON.OUT) Dòng 1: Ghi số nguyên x và y tìm (1 ≤ x ≤ y), số cách ít ký tự trắng Ví dụ: PON.INP 10 PON.OUT Bài Biến đổi dãy số Sơn là người yêu thích Toán học và thường cô giáo gọi lên bảng giải bài khó Hôm cô giáo viết lên bảng dãy số nguyên không âm a1, a2, , an và yêu cầu dùng ít phép biến đổi để đưa dãy số cho đó có k số liên tiếp tạo (2) thành dãy tăng dần từ đến k, tức là tồn i cho = 1, ai+1 = 2, , ai+k-1 = k Nội dung phép biến đổi là xóa số tùy chọn và thay nó số lớn số cũ đơn vị Dĩ nhiên, anh bạn Sơn chúng ta lại cô giáo gọi lên bảng Yêu cầu: Hãy xác định số phép biến đổi tối thiểu mà Sơn cần thực đưa số -1 không tồn cách nhận dãy số theo yêu cầu Dữ liệu vào: (CHANGE.INP) Dòng 1: Ghi số nguyên n và k (1 ≤ k ≤ n ≤ 200 000) Dòng 2: Ghi n số nguyên a1, a2, , an (0 ≤ ≤ n; i∈ N *, i≤ n ) Kết quả: (CHANGE.OUT) Ghi số nguyên là kết tìm Ví dụ: CHANGE.INP 1 CHANGE.OUT Bài Chữ số tận cùng Hai anh em Tùng và Sơn thích chơi trò chơi liên quan đến số Một hôm Sơn nói: “Nếu anh chọn chữ số, em chọn chữ số thì chữ số tận cùng tích hai số anh em mình chọn là số nào nhỉ?” Là người yêu thích Toán học, Sơn yêu cầu anh phải chọn số thật lớn để thử khả tính toán anh mình Bạn hãy giúp Tùng tìm chữ số tận cùng đó nhé Yêu cầu: Cho hai số t , s (t , s ∈ N ; t , s ≤ 10100 ) , hãy tìm chữ số tận cùng tích t ∗ s Dữ liệu vào: (NUMBER.INP) Dòng 1: Ghi số tự nhiên t Dòng 2: Ghi số tự nhiên s Kết quả: (NUMBER.OUT) Ghi chữ số là kết tìm Ví dụ: NUMBER.INP 15122011 14102015 NUMBER.OUT =Hết= (Cán coi thi không giải thích gì thêm) Họ và tên thí sinh:…………………………………………………SBD:…………………… (3)