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

টুর্নামেন্টে মোট ম্যাচের সংখ্যা বের করার প্রোগ্রাম

n টিম আছে একটি টুর্নামেন্টে। নিয়ম:

  • যদি টিমের সংখ্যা জোড় হয়: প্রতিটি টিম জোড়া বসে, n/2 ম্যাচ হবে, n/2 টিম வெজিত হয়ে পরবর্তী রাউন্ডে যাবে।

  • যদি বিজোড় হয়: এক টিম বাই পাবে, বাকি জোড়া বসে, (n-1)/2 ম্যাচ হবে, (n-1)/2 + 1 টিম পরবর্তী রাউন্ডে যাবে।

ফাইনাল বেনামে মোট কতগুলো ম্যাচ হবে সেটা বের করতে হবে।

ইনপুট: n = 10 → আউটপুট: 9।

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

  • ans := 0

  • যখন n != 1:

    • f := n // 2
    • remainder := n % 2
    • ans += f
    • n = f + remainder
  • ans রিটার্ন করুন

উদাহরণ (Python)

def solve(n):
    ans = 0
    while n != 1:
        f = n // 2
        remainder = n % 2
        ans += f
        n = f + remainder
    return ans

n = 10
print(solve(n))

ইনপুট

10

আউটপুট

9
  1. পাইথনে ব্র্যাকেট ডেপথ অনুযায়ী ক্যারেক্টার কাউন্ট করা

  2. পাইথন প্রোগ্রাম - n নোড দিয়ে BST-এর সংখ্যা বের করুন

  3. পাইথনে বাইনারি ট্রিতে যেসব পথের যোগফল k তাদের সংখ্যা গুনার প্রোগ্রাম

  4. পাইথনে ম্যাট্রিক্সে ঘিরা দ্বীপের সংখ্যা গণনা করার প্রোগ্রাম