Bỏ qua để đến nội dung

Đề số 15 - Ôn thi HSG Tin học THCS

BỘ ĐỀ ÔN THI HỌC SINH GIỎI TIN HỌC THCS Bumbii Academy

ĐỀ SỐ 15 Thời gian làm bài: 150 phút
4 bài, tổng 20 điểm


BàiTên bàiFile chương trìnhFile dữ liệu vàoFile kết quảĐiểm
1Gửi tiết kiệmTIETKIEM.*TIETKIEM.INPTIETKIEM.OUT3
2Chia cùng số dưCUNGDU.*CUNGDU.INPCUNGDU.OUT5
3Phân tích ra thừa số nguyên tốPHANTICH.*PHANTICH.INPPHANTICH.OUT6
4Hai nhà gần nhau nhấtKHOANGCACH.*KHOANGCACH.INPKHOANGCACH.OUT6

Dấu * được thay bằng py hoặc cpp tùy theo ngôn ngữ lập trình sử dụng.

Bạn Tý gửi T đồng vào ngân hàng với lãi suất L% mỗi tháng. Cuối mỗi tháng, ngân hàng tính tiền lãi bằng L% số tiền hiện có, làm tròn xuống đến đồng, rồi cộng tiền lãi vào số tiền gửi (lãi nhập gốc).

Yêu cầu: Cho biết sau ít nhất bao nhiêu tháng thì số tiền của Tý đạt ít nhất G đồng, và khi đó Tý có bao nhiêu tiền.

Dữ liệu vào: Từ file văn bản TIETKIEM.INP gồm một dòng chứa ba số nguyên dương T, L, G.

Kết quả: Ghi ra file văn bản TIETKIEM.OUT hai số: số tháng và số tiền khi đó. Nếu không bao giờ đạt được G đồng thì ghi -1.

Ví dụ:

TIETKIEM.INPTIETKIEM.OUTGiải thích
1000000 1 10300003 10303011 000 000 → 1 010 000 → 1 020 100 → 1 030 301.
50 1 100-1Tiền lãi mỗi tháng là 1% của 50 đồng = 0,5 đồng, làm tròn xuống thành 0.

Ràng buộc: T ≤ 109, 1 ≤ L ≤ 100, G ≤ 1018.

Cho dãy n số nguyên dương a1, a2, …, an.

Yêu cầu: Tìm số nguyên dương x lớn nhất sao cho tất cả các số trong dãy khi chia cho x đều có cùng một số dư, và cho biết số dư đó.

Dữ liệu vào: Từ file văn bản CUNGDU.INP gồm:

  • Dòng đầu tiên chứa số nguyên dương n.
  • Dòng thứ hai chứa n số nguyên dương a1, a2, …, an.

Kết quả: Ghi ra file văn bản CUNGDU.OUT hai số x và số dư chung. Nếu x có thể lớn tùy ý (mọi số trong dãy bằng nhau) thì ghi -1.

Ví dụ:

CUNGDU.INPCUNGDU.OUTGiải thích
4
17 5 29 11
6 517, 5, 29, 11 chia 6 đều dư 5.

Ràng buộc:

  • Có 50% số test với n ≤ 100, ai ≤ 1000.
  • Có 50% số test với n ≤ 105, ai ≤ 1018.

Bài 3. Phân tích ra thừa số nguyên tố (6 điểm)

Phần tiêu đề “Bài 3. Phân tích ra thừa số nguyên tố (6 điểm)”

Yêu cầu: Cho q số nguyên, hãy phân tích mỗi số ra thừa số nguyên tố.

Dữ liệu vào: Từ file văn bản PHANTICH.INP gồm:

  • Dòng đầu tiên chứa số nguyên dương q.
  • q dòng tiếp theo, mỗi dòng chứa một số nguyên x (2 ≤ x ≤ 106).

Kết quả: Ghi ra file văn bản PHANTICH.OUT gồm q dòng. Dòng thứ i ghi các thừa số nguyên tố của số thứ i theo thứ tự không giảm, ngăn cách bởi dấu chấm (thừa số nào lặp lại thì ghi lặp lại).

Ví dụ:

PHANTICH.INPPHANTICH.OUT
3
84
100
13
2.2.3.7
2.2.5.5
13

Ràng buộc:

  • Có 40% số test với q ≤ 100.
  • Có 60% số test với q ≤ 105.

Dọc một con đường thẳng có n ngôi nhà, ngôi nhà thứ i ở vị trí ai (có thể có nhiều nhà chung một vị trí, ví dụ các căn hộ trong cùng một tòa nhà).

Yêu cầu: Tìm khoảng cách nhỏ nhất giữa hai ngôi nhà khác nhau, và đếm số cặp nhà có khoảng cách đúng bằng giá trị nhỏ nhất đó.

Dữ liệu vào: Từ file văn bản KHOANGCACH.INP gồm:

  • Dòng đầu tiên chứa số nguyên n (n ≥ 2).
  • Dòng thứ hai chứa n số nguyên a1, a2, …, an (|ai| ≤ 109).

Kết quả: Ghi ra file văn bản KHOANGCACH.OUT hai số: khoảng cách nhỏ nhất và số cặp nhà.

Ví dụ:

KHOANGCACH.INPKHOANGCACH.OUTGiải thích
5
7 4 -3 -1 5
1 1Chỉ có cặp 4 và 5.
6
2 9 2 9 2 5
0 4Ba nhà ở vị trí 2 tạo 3 cặp, hai nhà ở vị trí 9 tạo 1 cặp.

Ràng buộc:

  • Có 40% số test với n ≤ 2000.
  • Có 60% số test với n ≤ 2 × 105.