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

เครื่องคิดเลขเสียใน Python


สมมติว่าเรามีเครื่องคิดเลขที่เสียซึ่งมีตัวเลขแสดงอยู่บนจอแสดงผล เราสามารถดำเนินการได้เพียงสองครั้งเท่านั้น -

  • Double − สิ่งนี้จะคูณตัวเลขบนหน้าจอด้วย 2 หรือ;

  • การลดลง - สิ่งนี้จะลดจำนวนที่แสดงลง 1,

เริ่มแรก เครื่องคิดเลขกำลังแสดงตัวเลข X เราต้องหาจำนวนการดำเนินการขั้นต่ำที่จำเป็นในการแสดงตัวเลข Y

ดังนั้นหากอินพุตเป็นเหมือน X =5 และ Y คือ 8 เอาต์พุตจะเป็น 2 เมื่อลดลงเพียงครั้งเดียว แล้วเพิ่มเป็นสองเท่า

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

  • res :=0

  • ในขณะที่ Y> X

    • res :=res + Y mod 2 + 1

    • Y :=Y / 2 เมื่อ Y เป็นเลขคู่ มิฉะนั้น (Y + 1) / 2

  • return res + X - Y

ตัวอย่าง(Python)

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

class Solution(object):
   def brokenCalc(self, X, Y):
      res = 0
      while Y > X:
         res += Y % 2 + 1
         Y = Y // 2 if Y % 2 == 0 else (Y + 1)//2
      return res + X - Y
ob = Solution()
print(ob.brokenCalc(5,8))

อินพุต

5
8

ผลลัพธ์

2