মান লিজিয়ে আমাদের একটি সংখ্যা n আছে। আরো দুটি সংখ্যা a এবং b আছে। আমাদের যাচাই করতে হবে a এবং b ব্যবহার করে এমন একটি সংখ্যা তৈরি করা যায় কিনা যা n-কে ভাগ করে।
যেমন, ইনপুট যদি n = 115, a = 3, b = 2 হয়, তবে আউটপুট হবে True কারণ ১১৫, ২৩ দ্বারা বিভাজ্য যা ২ এবং ৩ দিয়ে তৈরি।
সমাধানের ধাপসমূহ
- একটি
util()ফাংশন সংজ্ঞায়িত করুন। এটিtemp, a, b, nনেবে - যদি
temp > nহয়, তবে:Falseরিটার্ন করুন
- যদি
ntempদ্বারা বিভাজ্য হয়, তবে:Trueরিটার্ন করুন
util(temp * 10 + a, a, b, n)অথবাutil(temp * 10 + b, a, b, n)যেকোনো একটিই সত্য হলেtrueরিটার্ন করুন, অন্যথায়false
<লি>মূল ফাংশন থেকে
util(a, a, b, n) অথবা util(b, a, b, n) যেকোনো একটিই সত্য হলে true রিটার্ন করুন, অন্যথায় false
উদাহরণ
বेहतर বোঝার জন্য নিচের বাস্তবায়নটি দেখুন:
def util(temp, a, b, n):
if temp > n:
return False
if n % temp == 0:
return True
return util(temp * 10 + a, a, b, n) or util(temp * 10 + b, a, b, n)
def solve(n, a, b):
return util(a, a, b, n) or util(b, a, b, n)
n = 115
a = 3
b = 2
print(solve(n, a, b))
ইনপুট
115, 2, 3
আউটপুট
True