ধরুন আমাদের একটি সংখ্যা n আছে, সংখ্যার যেকোনো জায়গায় 5 সন্নিবেশ করার মাধ্যমে আমাদের সর্বাধিক সংখ্যাটি পেতে হবে।
সুতরাং, যদি ইনপুট n =834 এর মত হয়, তাহলে আউটপুট হবে 8534।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি n> 0 হয়, তাহলে
-
s :=n স্ট্রিং হিসাবে
-
k :=ফাঁকা স্ট্রিং
-
c :=মিথ্যা
-
প্রতিটি অক্ষরের জন্য i s, do
-
যদি i <5 এবং c মিথ্যা হয়, তাহলে
-
k :=k concatenate "5" concatenate i
-
c :=সত্য
-
-
অন্যথায়,
-
k :=k concatenate i
-
-
-
k পূর্ণসংখ্যা হিসাবে ফেরত দিন
-
-
অন্যথায়,
-
k :=ফাঁকা স্ট্রিং
-
s :=|n| স্ট্রিং হিসাবে
-
c :=মিথ্যা
-
প্রতিটি অক্ষরের জন্য i s, do
-
যদি i> 5 এবং c False এর মত হয়, তাহলে
-
k :=k concatenate "5" concatenate i
-
c :=সত্য
-
-
অন্যথায়,
-
k :=k concatenate i
-
-
-
যদি c মিথ্যা হয়, তাহলে
-
k :=k concatenate "5"
-
-
-
ফেরত (-k)
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
def solve(n):
if n > 0:
s = str(n)
k = ""
c = False
for i in s:
if int(i) < 5 and c == False:
k += "5" + i
c = True
else:
k += i
return int(k)
else:
k = ""
s = str(abs(n))
c = False
for i in s:
if int(i) > 5 and c == False:
k += "5" + i
c = True
else:
k += i
if not c:
k += "5"
return int("-" + k)
n = 834
print(solve(n)) ইনপুট
834
আউটপুট
8534