Căn số học của một số
Căn số học (digital root) là kết quả của việc cộng tất cả chữ số của một số; nếu tổng vẫn còn
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: cpp-basics, while loop.
Nội dung đề bài
Mô tả bài toán
Căn số học (digital root) là kết quả của việc cộng tất cả chữ số của một số; nếu tổng vẫn còn nhiều hơn một chữ số thì lặp lại thao tác cộng đó cho đến khi chỉ còn đúng một chữ số. Phép biến đổi này là bước luyện tập tốt cho vòng lặp lồng nhau và phép chia lấy dư.
Yêu cầu
Cho số nguyên dương n, hãy in ra căn số học của n. Nói cách khác, hãy cộng các chữ số của n cho tới khi thu được một chữ số duy nhất rồi in chữ số đó.
Quy ước nộp bài
Nộp chương trình solution.cpp đọc dữ liệu từ stdin và in kết quả ra stdout. In đúng một chữ số trên một dòng duy nhất.
Input
- Một dòng duy nhất chứa số nguyên dương n (1 <= n <= 1000000000).
Output
- Một chữ số duy nhất từ 1 đến 9 là căn số học của n.
Ràng buộc
- 1 <= n <= 1000000000.
- Phải cộng lặp lại cho tới khi còn một chữ số, không dừng ở lần cộng đầu tiên.
- Thời gian cho mỗi bộ dữ liệu là 1 giây.
Ví dụ 1
Input
38
Output
2
Ví dụ 2
Input
9
Output
9
Giải thích
Với dữ liệu vào:
Ta có 3 + 8 = 11, rồi 1 + 1 = 2, nên kết quả là:
Với dữ liệu vào:
Vì 9 đã là một chữ số, kết quả là:
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
