সোমবারে ১ টাকা জমা দিলে, পরের দিনে (মঙ্গল থেকে রবি) প্রতিদিন ১ টাকা বেড়ে জমা দিতে হয়। এরপর প্রতিটি সোমবারে আগের সোমবারের চেয়ে ১ টাকা বেড়ে জমা দিতে হয়। n দিন পর ব্যাংকে মোট কত টাকা থাকবে সেটা বের করতে হবে।
ইনপুট: n = 17 → আউটপুট: 75। প্রথম সপ্তাহ: ১+২+৩+৪+৫+৬+৭=২৮। দ্বিতীয় সপ্তাহ: ২+৩+৪+৫+৬+৭+৮=৩৫। তৃতীয় সপ্তাহ (৩ দিন): ৩+৪+৫=১২। মোট ২৮+৩৫+১২=৭৫।
সমাধানের ধাপসমূহ
s := ২৮ (প্রথম সপ্তাহের যোগফল)
res := 0
যদি n > 7:
- res = s
- div := n // 7
- i = 1 থেকে div-1 পর্যন্ত: res += s + 7*i
- rem := n % 7
- i = 1 থেকে rem পর্যন্ত: res += i + div
অন্যথায় (n <= 7): i = 1 থেকে n পর্যন্ত res += i
res রিটার্ন করুন
উদাহরণ (Python)
def solve(n):
s = 28
res = 0
if n > 7:
res = s
div = n // 7
for i in range(1, div):
res += s + 7 * i
rem = n % 7
for i in range(1, rem + 1):
res += i + div
else:
for i in range(1, n + 1):
res += i
return res
n = 17
print(solve(n))
ইনপুট
17
আউটপুট
75