Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm số tối đa bằng cách thêm 5 vào bất kỳ vị trí nào trong Python

Giả sử chúng ta có một số n, chúng ta phải tìm số lớn nhất có thể nhận được bằng cách chèn 5 vào bất kỳ chỗ nào trong số đó.

Vì vậy, nếu đầu vào là n =834, thì đầu ra sẽ là 8534.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu n> 0 thì

    • s:=n dưới dạng chuỗi

    • k:=chuỗi trống

    • c:=Sai

    • đối với mỗi ký tự tôi trong s, thực hiện

      • nếu i <5 và c là Sai thì

        • k:=k nối "5" nối i

        • c:=Đúng

      • nếu không,

        • k:=k nối i

    • trả về k dưới dạng số nguyên

  • nếu không,

    • k:=chuỗi trống

    • s:=| n | dưới dạng chuỗi

    • c:=Sai

    • đối với mỗi ký tự tôi trong s, thực hiện

      • nếu i> 5 và c giống Sai thì

        • k:=k nối "5" nối i

        • c:=Đúng

      • nếu không,

        • k:=k nối i

    • nếu c sai thì

      • k:=k nối "5"

  • return (-k)

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn

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))

Đầu vào

834

Đầu ra

8534