ধরা যাক একটি সিকুয়েন্স bn আছে যা রিকারেন্স রিলেশন দিয়ে প্রকাশ করা হয়: b1=1 এবং bn+1/bn = 2n। আমাদের দেওয়া n-এর জন্য log2(bn) এর মান বের করতে হবে।
যেমন, ইনপুট 6 হলে আউটপুট হবে 15 কারণ log2(bn) = n(n-1)/2 = 6*5/2 = 15।
গাণিতিক সমাধান
bn+1/bn = 2^n
bn/bn-1 = 2^(n-1)
...
b2/b1 = 2^1
সকলকে গুণ করলে: bn+1/b1 = 2^(n(n+1)/2)
যেহেতু b1 = 1, তাই bn+1 = 2^(n(n+1)/2)
n+1 কে n দিয়ে রিপ্লেস করলে: bn = 2^(n(n-1)/2)
log2 begge পাশে নিলে: log2(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