ধরুন আমরা নিচের মত একটি সংখ্যা ত্রিভুজ তৈরি করছি
1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1
যেখানে প্রতিটি সারিতে এর উপরে তিনটি সংখ্যা যোগ করে উপাদানগুলি তৈরি করা হয়। এখন যদি আমরা একটি লাইন নম্বর l. আমাদের সেই লাইনের প্রথম জোড় সংখ্যার অবস্থান খুঁজে বের করতে হবে। অবস্থানের মান 1 থেকে শুরু হয়।
সুতরাং, যদি ইনপুট l =5 এর মত হয়, তাহলে আউটপুট হবে 2
1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1 1 4 10 16 19 16 10 4 1
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি l 1 এর সমান হয় বা l 2 এর সমান হয়, তাহলে
- রিটার্ন -1
- অন্যথায় যখন l mod 2 0 এর মত হয়, তারপর
- যদি l mod 4 0 এর মত হয়, তাহলে
- রিটার্ন ৩
- অন্যথায়,
- প্রত্যাবর্তন 4
- যদি l mod 4 0 এর মত হয়, তাহলে
- অন্যথায়,
- রিটার্ন 2
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(l): if l == 1 or l == 2 : return -1 elif l % 2 == 0: if l % 4 == 0: return 3 else: return 4 else: return 2 l = 5 print(solve(l))
ইনপুট
5
আউটপুট
2