ধরুন আমাদের একটি ধনাত্মক সংখ্যা n আছে, আমরা একটি নতুন সংখ্যা পেতে এর সমস্ত সংখ্যা যোগ করব। এখন এই অপারেশনটি পুনরাবৃত্তি করুন যতক্ষণ না এটি 10 এর কম হয়।
সুতরাং, যদি ইনপুট 9625 এর মত হয়, তাহলে আউটপুট হবে 4।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- একটি পদ্ধতি সংজ্ঞায়িত করুন সমাধান(), এটি নেবে
- যদি n <10 হয়, তাহলে
- রিটার্ন n
- s :=0
- l :=(log(n) বেস 10 + 1) এর মেঝে
- যখন l> 0, do
- s :=s + (n mod 10)
- n :=n / 10 এর ভাগফল
- l :=l - 1
- রিটার্ন সমাধান(গুলি)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
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