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

পাইথনে n বার রিভার্সালের পর বলের পজিশন বের করা

n সংখ্যক বল আছে যেগুলো ১, ২, ৩, ..., n ক্রমে সাজানো। এখন বলগুলো রিভার্স করা হয়: n, n-1, ..., ১। আবার রিভার্স করা হয় কিন্তু এইবার পজিশন ১ থেকে n পর্যন্ত (অর্থাৎ n, ১, ২, ..., n-1)। এই রিভার্সাল প্রক্রিয়া n বার চলতে থাকে এবং প্রতিবার স্টার্টিং পজিশন ১ ধাপ ডানে সরায়। প্রাথমিকভাবে index পজিশনে থাকা বল n বার রিভার্সালের পর কোন পজিশনে থাকবে তা বের করতে হবে।

উদাহরণ

ইনপুট: balls = 5, index = 2

আউটপুট: 4

প্রক্রিয়া:

5,4,3,2,1
5,1,2,3,4
5,1,4,3,2
5,1,4,2,3
পজিশন ২-র বল চূড়ান্তে পজিশন ৪-এ।

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

  1. যদি index < balls // 2 হয়, তবে 2 * index + 1 রিটার্ন করুন।
  2. অন্যথায় 2 * (balls - index - 1) রিটার্ন করুন।

পাইথন ইমপ্লিমেন্টেশন

def solve(balls, index):
    if index < balls // 2:
        return 2 * index + 1
    else:
        return 2 * (balls - index - 1)

# টেস্ট
print(solve(5, 2))  # আউটপুট: 4

ইনপুট

5, 2

আউটপুট

4
  1. পাইথনে গ্রাফ সবাই দ্বারা ট্রাভার্সেবল কিনা চেক করার প্রোগ্রাম

  2. পাইথনে গ্রিড বক্সে বল কোন খানায় পড়বে তা বের করার প্রোগ্রাম

  3. পাইথনে 2048 গেম বোর্ড স্লাইড করার পরের পরের স্টেট বের করা

  4. পাইথনে লাইনে থাকা সম্ভাব্য পজিশনের সংখ্যা বের করার প্রোগ্রাম