সমস্যা বিবরণ
একটি অ্যারে n সংখ্যা দিয়ে দেওয়া আছে। সবগুলো গুণ করলে ফলাফলের শেষে কতগুলো সিকোয়েনশিয়াল শূন্য থাকবে তা বের করতে হবে।
উদাহরণস্বরূপ, [200, 20, 5, 30, 40, 14] হলে গুণফল 336000000 হয়, শেষে ৬টি শূন্য আছে। আউটপুট 6।
সমাধানের ধাপসমূহ
count_fact_two(n):n-এ ২-এর ঘাত গণনা করুন (২ দিয়ে ভাগ করতে থাকুন)।count_fact_five(n):n-এ ৫-এর ঘাত গণনা করুন (৫ দিয়ে ভাগ করতে থাকুন)।- মূল ফাংশনে:
- প্রতিটি উপাদানের জন্য ২ এবং ৫-এর ঘাত যোগ করুন।
- শেষে শূন্যের সংখ্যা =
min(twos, fives)।
পাইথন কোড উদাহরণ
def count_fact_two(n):
count = 0
while n % 2 == 0:
count += 1
n //= 2
return count
def count_fact_five(n):
count = 0
while n % 5 == 0:
count += 1
n //= 5
return count
def get_consecutive_zeros(A):
n = len(A)
twos = 0
fives = 0
for i in range(n):
twos += count_fact_two(A[i])
fives += count_fact_five(A[i])
return min(twos, fives)
A = [200, 20, 5, 30, 40, 14]
print(get_consecutive_zeros(A)) # আউটপুট: 6
ইনপুট
[200, 20, 5, 30, 40, 14]
আউটপুট
6