ধরুন আমাদের কাছে bn নামক সংখ্যার একটি ক্রম আছে, এটি b1=1 এবং bn+1/bn=2n এর মতো একটি পুনরাবৃত্তি সম্পর্ক ব্যবহার করে উপস্থাপন করা হয়। আমাদের একটি প্রদত্ত n এর জন্য log2(bn) এর মান খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুট 6 এর মত হয়, তাহলে আউটপুট হবে 5 হিসাবে log2(bn) =(n * (n - 1)) / 2 =(6*(6-1))/2 =15
আমরা এই সম্পর্কটি নিম্নরূপ −
সমাধান করে এই সমস্যাটি সমাধান করতে পারিbn+1৷ /bn =2 n
bn /bn-1 =2 n-1
…
b2 /b1 =2 1 , আমরা উপরের সবগুলোকে গুণ করলে আমরা পেতে পারি
(bn+1 /bn ).(bn /bn-1 )……(b2 /b1 ) =2 n + (n-1)+……….+1
সুতরাং, bn+1 /b1 =2 n(n+1)/2
যেমন 1 + 2 + 3 + ………. + (n-1) + n =n(n+1)/2
সুতরাং, bn+1 =2 n(n+1)/2 * b1; আমরা ধরে নিচ্ছি যে প্রাথমিক মান b1 =1
সুতরাং, bn+1 =2 n(n+1)/2
n এর প্রতিস্থাপন (n+1) করার পর, আমরা পাই,
bn =2 n(n-1)/2
উভয় পক্ষের লগ নেওয়ার মাধ্যমে, আমরা পাই,
লগ2 (bn ) =n(n-1)/2
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def add_upto_n(n): res = (n * (n - 1)) / 2 return res n = 6 print(int(add_upto_n(n)))
ইনপুট
6
আউটপুট
15