Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหาจำนวนสูงสุดโดยการเพิ่ม 5 ที่ใดก็ได้ใน Python


สมมติว่าเรามีตัวเลข n เราต้องหาจำนวนสูงสุดที่เราหาได้โดยการใส่ 5 ตรงไหนก็ได้ในตัวเลข

ดังนั้น หากอินพุตเท่ากับ n =834 เอาต์พุตจะเป็น 8534

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า n> 0 แล้ว

    • s :=n เป็นสตริง

    • k :=สตริงว่าง

    • ค :=ผิด

    • สำหรับแต่ละอักขระ i ใน s ทำ

      • ถ้า i <5 และ c เป็นเท็จ

        • k :=k เชื่อม "5" ต่อกัน i

        • ค :=จริง

      • มิฉะนั้น

        • k :=k concatenate i

    • คืนค่า k เป็นจำนวนเต็ม

  • มิฉะนั้น

    • k :=สตริงว่าง

    • s :=|n| เป็นสตริง

    • ค :=ผิด

    • สำหรับแต่ละอักขระ i ใน s ทำ

      • ถ้า i> 5 และ c เหมือนกับ False แล้ว

        • k :=k เชื่อม "5" ต่อกัน i

        • ค :=จริง

      • มิฉะนั้น

        • k :=k concatenate i

    • ถ้า c เป็นเท็จ แล้ว

      • k :=k เชื่อม "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