ধরুন আমাদের দুটি ধনাত্মক পূর্ণসংখ্যা n এবং d দেওয়া হয়েছে যেখানে d হল 0 থেকে 9 এর মধ্যে একটি সংখ্যা। আমাদের নির্ধারণ করতে হবে 1 এর মধ্যে পূর্ণসংখ্যার মধ্যে d সংখ্যাটি কতবার প্রদর্শিত হবে। এবং n.
সুতরাং, যদি ইনপুট n =45, d =5 এর মত হয়, তাহলে আউটপুট হবে 5।
এই সংখ্যার সংখ্যা 5:[5, 15, 25, 35, 45]।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
একটি ফাংশন সমাধান () সংজ্ঞায়িত করুন। এটি ইনপুট হিসাবে n এবং d গ্রহণ করবে।
-
যদি n <0, তাহলে
-
রিটার্ন 0
-
-
k :=(n /10) − 1
এর তল -
উত্তর :=সমাধান (k, d) * 10 + k + 1
-
যদি d 0 এর সমান হয়, তাহলে
-
ans :=ans − 1
-
-
m :=(n / 10) * 10
এর তল -
যখন m <=n, করবেন
-
ans :=ans + m এর স্ট্রিং রিপ্রেজেন্টেশনে d এর স্ট্রিং রিপ্রেজেন্টেশনের ঘটনার সংখ্যা।
-
m :=m + 1
-
-
উত্তর ফেরত দিন
-
প্রধান ফাংশন থেকে, এখন ফাংশন −
কল করুন -
মান :=সমাধান(n,d)
-
মুদ্রণ(মান)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, n, d): if n < 0: return 0 k = n // 10 − 1 ans = self.solve(k, d) * 10 + k + 1 if d == 0: ans −= 1 m = n // 10 * 10 while m <= n: ans += str(m).count(str(d)) m += 1 return ans ob = Solution() print(ob.solve(45,5))
ইনপুট
45, 5
আউটপুট
5