ধরুন আমাদের একটি মান n আছে। আমাদের S অনুক্রমের শেষ অঙ্কটি খুঁজে বের করতে হবে। S-এর সমীকরণটি নিচে দেওয়া হল -
$$\sum_{i=0\:2^{^{i}}\leqslant n}^{\alpha } \sum_{j=0}^{n} 2^{2^{^{i}+2j }$$
সুতরাং, যদি ইনপুটটি n =2 এর মত হয়, তাহলে আউটপুট 6 হবে কারণ:এখানে শুধুমাত্র i =0 এবং i বৈধ, তাই
- S0 =2^(2^0 + 0) + 2^(2^0 + 2) + 2^(2^0 + 4) =42
- S1 =2^(2^1 + 0) + 2^(2^1 + 2) + 2^(2^1 + 4) =84 যোগফল হল 42+84 =126, তাই শেষ অঙ্ক হল 6।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- মোট:=0
- তাপ :=1
- যখন temp <=n, do
- মোট :=মোট + (2^টেম্প মোড 10)
- temp :=temp * 2
- মোট :=মোট * (1 +(4 যখন n বিজোড় হয় অন্যথায় 0)) মোড 10
- মোট :=মোট + (2^টেম্প মোড 10)
- মোট রিটার্ন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(n):
total= 0
temp = 1
while (temp <= n):
total += pow(2, temp, 10)
temp *= 2
total = total * (1 + (4 if n %2 ==1 else 0)) % 10
return total
n = 2
print(solve(n)) ইনপুট
2
আউটপুট
6