ধরুন আপনি সোমবার প্রথম দিনে একটি ব্যাঙ্কে 1R রাখেন। এবং পরের দিন, মঙ্গলবার থেকে রবিবার পর্যন্ত, আপনি আগের দিনের চেয়ে 1 টাকা বেশি রাখবেন। এবং পরবর্তী প্রতি সোমবার, আপনি আগের সোমবারের থেকে 1 টাকা বেশি রাখবেন। যদি আমাদের একটি সংখ্যা n থাকে, তাহলে nম দিনের শেষে আপনার ব্যাঙ্কে মোট কত টাকা থাকবে তা আমাদের খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি n =17 এর মত হয়, তাহলে আউটপুট হবে 75 কারণ, সোমবার 1R, মঙ্গলবার 2R এবং আরও অনেক কিছু, তাই রবিবার 7R, তারপরের সোমবার 2R, দ্বিতীয় মঙ্গলবার 3R বসান, তাই রবিবার 8 রুপি রাখুন। তারপর তৃতীয় সোমবার 3R, মঙ্গলবার 4R এবং বুধবার (শেষ দিন) 5R লাগান, তাহলে মোট যোগফল হল (1+2+3+4+5+6+7)+(2+3+4+5+6+ 7+8)+(3+4+5) =75Rs
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
s :=28
-
res :=0
-
যদি n> 7, তাহলে
-
res :=s
-
div :=n/7 এর ফ্লোর
-
1 থেকে div - 1 রেঞ্জের জন্য, করুন
-
res :=res + s+7*i
-
-
rem :=n mod 7
-
আমি 1 থেকে রেমে রেঞ্জের জন্য, কর
-
res :=res + i+div
-
-
-
অন্যথায়,
-
1 থেকে n রেঞ্জের জন্য, করুন
-
res :=res + i
-
-
-
রিটার্ন রিটার্ন
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
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