Professional Documents
Culture Documents
Cách 2 – Xử lí bằng phương thức đọc theo dòng bằng phương thức readline()
Cách 3 – Xử lí bằng phương thức đọc theo dòng cho tới khi hết file
BÀI 2.2 TÍNH TUỔI THEO SỐ NGÀY
Mô tả bài toán: Đọc một giá trị số nguyên tương ứng với độ tuổi của một người (tính theo
ngày) và in ra tuổi đã quy đổi thành năm, tháng và ngày, tiếp theo là thông báo tương ứng
"nam", "thang", "ngay".
Lưu ý: Đây chỉ là một bài tập nhằm mục đích kiểm tra khả năng tính toán toán học. Nên
để tạo thuận lợi cho tính toán, chúng ta giả thuyết rằng mỗi năm có đúng 365 ngày và mỗi
tháng có đúng 30 ngày.
Dữ liệu vào (TUOI.INP): Đầu vào gồm 1 giá trị số nguyên là số ngày tuổi.
Dữ liệu ra (TUOI.OUT): In ra tuổi đã quy đổi theo yêu cầu của đề bài.
TUOI.INP TUOI.OUT
400 1 nam 1 thang 5 ngay
800 2 nam 2 thang 10 ngay
30 0 nam 1 thang 0 ngay
Phân tích:
Để đổi sang năm thì ta thấy cứ 365 ngày tương ứng với 1 năm. Do đó để tính số năm
thì ta chỉ cần lấy tổng số ngày chia cho 365 lấy nguyên là được : [songay/365]. Sau khi
tính được số năm thì số ngày còn dư lại được tính bằng phép chia dư: songay%365.
Tương tự ta tính được số tháng và số ngày tuổi còn dư lại.
CODE C++
CODE PYTHON
CODE Python
Phân tích : Dễ thấy để ghép được 1 cặp khác giới thì cần 1 nam 1 nữ, nên số cặp khác giới sẽ
bằng min(nam, nữ). Sau khi ghép xong khác giới thì sẽ còn dư (hoặc không nếu số nam bằng số
nữ) số người cùng giới (hoặc nam, hoặc nữ) là: max(nam, nữ) – min(nam, nữ).
BÀI 2.6 - THỜI GIAN CÒN LẠI - Time remaining
Mô tả bài toán: Vincent rất thích các cuộc thi lập trình. Ngày hôm nay, anh ấy sẽ tham gia
một cuộc thi ở laptrinhonline.club. Ở Việt Nam sử dụng đồng hồ 24h để hiển thị thời gian.
Ví dụ 9h00pm tương ứng với 21h00. Cho biết thời gian hiện tại là A giờ và cuộc thi sẽ bắt
đầu đúng chính xác B giờ nữa. Nhiệm vụ của bạn là hãy cho biết khi nào cuộc thi bắt đầu ?
Dữ liệu vào (TIME.INP): dòng duy nhất gồm 2 số nguyên A,B ( 0 ≤ A,B ≤ 23).
Dữ liệu ra (TIME.OUT): In ra thời gian cuộc thi bắt đầu.
TIME.INP TIME.OUT Diễn giải kết quả
9 12 21 Hiện tại là 9h00 sau 12h nữa là 21h00
23 2 1 Hiện tại là 23h00 sau 1h nữa là 1h00
CODE C++
CODE Python
Phân tích:
1 ngày giá X đồng K 1 ngày giá Y đồng (từ ngày thứ K+1)
BÀI 2.9 ĐẾM MÀU VỎ LON MONSTER ENERGY- CANS
Mô tả bài toán: Monster Energy là một loại nước tăng lực khá nổi tiếng, Rambo là một
người rất mê loại nước này vì nó rất ngon và vỏ lon có rất nhiều màu sắc khác nhau rất bắt
mắt.
Anh ta đã mua một lon có màu là A ngày hôm kia, một lon có màu là B ngày hôm
qua và hôm nay anh ta mua một lon có màu là C. Màu của các lon trong khoảng từ 1 đến
100.Vì anh ta đã quên mất mình đã mua bao nhiêu lon khác màu nhau nên bạn hãy giúp
anh ta đếm số lon khác màu nhau nhé.
Dữ liệu vào (CANS.INP): gồm 3 số nguyên A, B, C với (1 ≤ A, B, C ≤ 100).
Dữ liệu ra (CANS.OUT): Số màu lon Monster Energy mà Rambo đã mua
CANS.INP CANS.OUT
315 3
4 4 10 2
Phân tích: Dễ thấy có 3 gói kẹo mà chia cho hai người với điều kiện không được bóc và số kẹo hai
người phải bằng nhau thì chỉ có thể chia được khi mà tổng của hai gói kẹo bằng gói còn lại, ngoài
ra thì không thể chia được.
BÀI 2.11 POINT
Tèo là một học sinh chăm ngoan, rất yêu thích môn Toán và môn Tin học.
Khi học về hàm số bậc nhất: 𝑦 = 𝑎𝑥 + 𝑏 (𝑎, 𝑏 là các số cho trước và 𝑎 ≠ 0) . Tèo được biết đồ
thị của hàm bậc nhất là một đường thẳng. Trong lúc học, Tèo chợt nghĩ ra 4 số nguyên 𝑎1 𝑏1 𝑎2
𝑏2 (các số đều khác 0 và có giá trị tuyệt đối không quá 32000). Với 4 số nguyên này, Tèo có được
hai đường thẳng: 𝑦1 = 𝑎1 𝑥 + 𝑏1 𝑣à 𝑦2 = 𝑎2 𝑥 + 𝑏2 . Không cần vẽ đồ thị, Tèo muốn biết hai
đường thẳng đó có điểm chung hay không.
Yêu cầu: Em hãy lập trình để máy tính đọc vào 4 số 𝑎1 𝑏1 𝑎2 𝑏2 và trả lời câu hỏi của Tèo.
Dữ liệu vào từ tệp Point.inp gồm 2 dòng
Dòng đầu tiên chứa 2 số nguyên 𝑎1 𝑏1
Dòng thứ 2 chứa 2 số nguyên 𝑎2 𝑏2
Các số trên cùng dòng phân biệt nhau bởi dấu cách.
Dữ liệu ra: ghi vào tệp Point.out câu trả lời yes/ no
POINT.inp POINT.out
3 -2 yes
-4 1