ধরুন আমাদের একটি সংখ্যা n আছে, আমাদের পরীক্ষা করতে হবে যে তিনটি স্বতন্ত্র শক্তির যোগফল হিসাবে n কে উপস্থাপন করা সম্ভব কি না। একটি পূর্ণসংখ্যা y কে তিন শক্তি বলা হয় যদি একটি পূর্ণসংখ্যা x থাকে যেমন y =3^x।
সুতরাং, যদি ইনপুটটি n =117 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ 117 =3^4 + 3^3 + 3^2 + =81 + 27 + 9।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
16 থেকে 0 রেঞ্জের i জন্য, 1 দ্বারা হ্রাস করুন, করুন
-
যদি n>=3^i হয়, তাহলে
-
n :=n - 3^i
-
-
-
যদি n> 0 হয়, তাহলে
-
রিটার্ন ফলস
-
-
রিটার্ন ট্রু
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(n): for i in range(16, -1, -1): if n >= pow(3,i): n -= pow(3,i) if n > 0: return False return True n = 117 print(solve(n))
ইনপুট
117
আউটপুট
True