ধরুন আমাদের একটি মান n আছে, n উপাদান সহ একটি অ্যারে সংখ্যা বিবেচনা করুন, যেখানে arr[i] =(2*i)+1 সব i এর জন্য। এখন একটি অপারেশনে, আমরা x এবং y দুটি সূচক বেছে নিতে পারি যেখানে 0 <=x, y
সুতরাং, যদি ইনপুটটি n =4 এর মত হয়, তাহলে আউটপুট 4 হবে যেমন n অ্যারের জন্য [1,3,5,7], এখন প্রথম অপারেশনের পরে আমরা [2,3,5,6 এর মতো অ্যারে তৈরি করতে পারি। ], দ্বিতীয় অপারেশনের পরে আমরা [3,3,5,5], তারপর তৃতীয় [4,3,4,5] এবং অবশেষে [4,4,4,4] করতে পারি। তাই এখন সবাই সমান।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
উত্তর:=0
যদি n 1 এর মত হয়, তাহলে
উত্তর ফেরত দিন
q:=(n/2) -1
j:=1
যখন q>=0, করবেন
ans:=ans + (n-j)
q :=q - 1
j :=j + 2
উত্তর ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def solve(n):
ans=0
if n==1:
return ans
q=(n//2)-1
j=1
while q>=0:
ans=ans+(n-j)
q-=1
j+=2
return ans
n = 4
print(solve(n))
ইনপুট
4
আউটপুট
4