একটি সংখ্যা k দেওয়া আছে। ১ থেকে k পর্যন্ত সব সংখ্যা দিয়ে ভাগ্যোগ্য ন্যূনতম ধনাত্মক পূর্ণসংখ্যা x (অর্থাৎ LCM(1..k)) বের করুন এবং তার ট্রেইলিং জিরোর সংখ্যা (শেষে কতটি ০ আছে) রিটার্ন করুন।
উদাহরণ: k = 6 → LCM(1..6) = 60 → ট্রেইলিং জিরো 1।
সমাধানের ধাপসমূহ
ট্রেইলিং জিরোর সংখ্যা =
x-এ ৫-এর গুণনীর সংখ্যা (কারণ ২-এর গুণনী ৫-র চেয়ে বেশি থাকে)।xহলো ১ থেকেkপর্যন্ত সব সংখ্যার LCM। এর ৫-এর ঘাত হলোfloor(log_5(k))।সاده ভাবে:
res = 0, x = 1। যতক্ষণx * 5 <= k, ততক্ষণres++এবংx *= 5।resরিটার্ন করুন।
পাইথন কোড উদাহরণ
class Solution:
def solve(self, k):
res = 0
x = 1
while x * 5 <= k:
res += 1
x *= 5
return res
ob = Solution()
k = 6
print(ob.solve(k))
ইনপুট
6
আউটপুট
1