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

পাইথনে গ্রে কোড রূপান্তর

একটি সংখ্যা n দেওয়া আছে। এর গ্রে কোড (nth gray code) বের করতে হবে। গ্রে কোড হল বাইনারি ক্রম যেখানে প্রতিটি সन्नিহিত সংখ্যা ঠিক এক বিট দিয়ে আলাদা হয়।

উদাহরণ: n = 12 হলে আউটপুট ১০, কারণ ১২ বাইনারি ১১০০, গ্রে কোড ১০১০ যherin দশমিক ১০।

সমাধানের ধাপসমূহ

  • রিকার্শিভ ফাংশন solve(n) সংজ্ঞায়িত করুন
  • যদি n == 0 হয় তবে 0 ফেরত দিন
  • x := 1; যবত x*2 <= n, x := x*2
  • x + solve(2*x - n - 1) ফেরত দিন

উদাহরণ কোড

class Solution:
    def solve(self, n):
        if n == 0:
            return 0
        x = 1
        while x * 2 <= n:
            x *= 2
        return x + self.solve(2 * x - n - 1)

ob = Solution()
n = 12
print(ob.solve(n))

ইনপুট

12

আউটপুট

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

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

  3. পাইথন প্রোগ্রাম: n-তম ক্যাটালান সংখ্যা বের করা

  4. পাইথন প্রোগ্রাম: একটি দেয়া সংখ্যা ফিবোনাচ্চি সংখ্যা কিনা যাচাই করা