কম্পিউটার টিউটোরিয়াল

পাইথনে সংখ্যা ৩-এর ঘাতগুলোর যোগফল কিনা চেক করার প্রোগ্রাম


মনে করুন একটি সংখ্যা n আছে। আমাদের চেক করতে হবে কি n কে ভিন্ন ৩-এর ঘাতগুলোর যোগফল হিসেবে প্রকাশ করা সম্ভব কিনা। একটি ইন্টিজার y হলো ৩-এর ঘাত যদি এমন একটি ইন্টিজার x থাকে যাতে y = 3^x।

যেমন, ইনপুট n = 117 হলে, আউটপুট হবে True কারণ 117 = 3^4 + 3^3 + 3^2 = 81 + 27 + 9।

সমাধান পদ্ধতি

এই সমস্যাটি সমাধান করতে নিচের ধাপগুলো অনুসরণ করুন:

  • i = 16 থেকে ০ পর্যন্ত (কমাতে ১)

    • যদি n >= 3^i হয়, তবে

      • n := n - 3^i

  • যদি n > 0 হয়, তবে

    • False রিটার্ন করুন

  • True রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন আরও ভালো বোঝার জন্য:

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

  1. প্রাইম নম্বর চেক করার পাইথন প্রোগ্রাম

  2. একটি সংখ্যার সম ফ্যাক্টরের যোগফল বের করার পাইথন প্রোগ্রাম

  3. পাইথনে আর্মস্ট্রอง নম্বর চেক করা

  4. পাইথনে ফিবোনাচ্চি সংখ্যা কিনা তা যাচাই করার প্রোগ্রাম