Số chữ số 0 tận cùng của n!
Mỗi chữ số 0 ở cuối một tích được sinh ra bởi một cặp thừa số 2 và 5. Trong khai triển của
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
Mỗi chữ số 0 ở cuối một tích được sinh ra bởi một cặp thừa số 2 và 5. Trong khai triển của n! số thừa số 2 luôn nhiều hơn số thừa số 5, nên số chữ số 0 tận cùng đúng bằng số thừa số 5 xuất hiện trong phân tích n!. Ta đếm được số đó mà không cần nhân ra giai thừa.
Yêu cầu
Cho số nguyên dương n, hãy in ra số chữ số 0 tận cùng của n! (tích 1 * 2 * ... * n).
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 số nguyên 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 số nguyên duy nhất là số chữ số 0 tận cùng của n!.
Ràng buộc
- 1 <= n <= 1000000000.
- Không được nhân ra n! vì 1000000000! là số khổng lồ; hãy đếm thừa số 5.
- Kết quả vừa với kiểu long long.
- Thời gian cho mỗi bộ dữ liệu là 1 giây.
Ví dụ 1
Input
5
Output
1
Ví dụ 2
Input
10
Output
2
Giải thích
Với dữ liệu vào:
10! = 3628800 có hai chữ số 0 ở cuối, nên kết quả là:
Với dữ liệu vào:
100! có 20 + 4 = 24 chữ số 0 ở cuối, nên 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.
