[RCOJ Educational Contest #01] Giảm về số 1
Xem dạng PDF
Gửi bài giải
Điểm:
800,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho số nguyên dương ~n~.
Mỗi bước, bạn có thể thực hiện một trong ba thao tác sau:
- Trừ ~1~.
- Chia cho ~2~ (nếu ~n~ chia hết cho ~2~).
- Chia cho ~3~ (nếu ~n~ chia hết cho ~3~).
Yêu cầu: Tính và in ra số bước tối thiểu cần thực hiện để biến ~n~ thành ~1~ bằng các thao tác đã cho.
Input
Một số nguyên dương ~n~ (~1 \leq n \leq 10^6~).
Output
Một số nguyên - là số bước ít nhất cần để đưa ~n~ về ~1~.
Example input 1
10
Example output 1
3
Note 1
- Các bước tối ưu: ~10 → 9 → 3 → 1~ (3 bước).
Bình luận