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

পাইথনে রঙিন টাইল দিয়ে ব্লক কভার করার সংখ্যা বের করা

একটি পাথে n ব্লক আছে। একটি ওয়ার্কার রঙিন টাইল বिछায়। যদি ব্লক নম্বর ৪ বা ২ দিয়ে বিভাজ্য হয় কিন্তু ৪২ দিয়ে না, তবে সেখানে টাইল দেয়। k সংখ্যক টাইল থাকলে সে কত ব্লক কভার করতে পারবে তা বের করতে হবে।

উদাহরণ

ইনপুট: k = 16

আউটপুট: 32

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

  1. MOD = 10⁹ + 7
  2. quotient := k // 20
  3. remainder := k % 20
  4. যদি remainder == 0: রিটার্ন (42 * quotient - 2) % MOD
  5. অন্যথায়: রিটার্ন (42 * quotient + 2 * remainder) % MOD

প্যাটার্ন: প্রতিটি ২০টি টাইলে ৪২ ব্লক কভার হয় (৪২-কে বাদ দিয়ে)।

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

def solve(k):
    MOD = 10**9 + 7
    quotient = k // 20
    remainder = k % 20
    if remainder == 0:
        return (42 * quotient - 2) % MOD
    else:
        return (42 * quotient + 2 * remainder) % MOD

# টেস্ট
print(solve(16))  # আউটপুট: 32

ইনপুট

16

আউটপুট

32
  1. পাইথনে যোগফল k হয় এমন স্বতন্ত্র কম্বিনেশনের সংখ্যা বের করার প্রোগ্রাম

  2. পাইথনে বক্স চেইন থেকে সর্বাধিক দৈর্ঘ্যের চেইন বের করার প্রোগ্রাম

  3. পাইথনে এনকোডেড মেসেজ ডিকোড করার উপায়ের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে ২ডি ম্যাট্রিক্সে ডান ও নিচে চলা সীমাবদ্ধ রেখে সর্বোচ্চ কয়েন সংগ্রহ করার প্রোগ্রাম