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