ধরা যাক একটি ধনাত্মক সংখ্যা n আছে, এর সব অঙ্ক যোগ করে নতুন সংখ্যা বানাব। এই অপারেশন ১০-এর চেয়ে ছোট হয় পর্যন্ত চালাতে হবে।
উদাহরণ: 9625 হলে আউটপুট 4।
সমাধানের ধাপসমূহ
- যদি n < 10, n ফেরত দিন।
- s := 0, l := floor(log10(n) + 1)
- যখন l > 0: s += n % 10, n //= 10, l--
- রিকার্সিভলি solve(s) কল করুন।
উদাহরণ কোড
import math
class Solution:
def solve(self, n):
if n < 10:
return n
s = 0
l = math.floor(math.log(n, 10) + 1)
while l > 0:
s += n % 10
n //= 10
l -= 1
return self.solve(s)
ob = Solution()
print(ob.solve(9625))
ইনপুট
9625
আউটপুট
4