สมมุติว่าเรามีเลขทศนิยม เราต้องเช็คว่าเป็นเลขคี่หรือคู่ โดยทั่วไปสำหรับจำนวนเต็มจะง่ายโดยการหารหลักสุดท้ายด้วย 2 แต่สำหรับเลขทศนิยมจะไม่ตรงไปตรงมาเช่นนั้น เราหารหลักสุดท้ายด้วย 2 ไม่ได้เพื่อตรวจว่าเป็นคี่หรือคู่
ดังนั้น หากอินพุตเป็น n =200.290 ผลลัพธ์จะเป็นเลขคี่ แม้ว่าตัวเลขสุดท้ายจะหารด้วย 2 ลงตัว
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- s :=แปลงตัวเลขเป็นสตริง
- ธง :=เท็จ
- สำหรับฉันในช่วงขนาด s - 1 ถึง 0, ลดลง 1 ทำ
- ถ้า s[i] เป็น '0' และแฟล็กเป็น False ดังนั้น
- ติดตามตอนต่อไป
- ถ้า s[i] เหมือนกับ '.' แล้ว
- flag :=จริง
- ติดตามตอนต่อไป
- ถ้า s[i] เป็นคู่ ดังนั้น
- คืนค่า "คู่"
- ส่งคืน "คี่"
- ถ้า s[i] เป็น '0' และแฟล็กเป็น False ดังนั้น
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
โค้ดตัวอย่าง
def solve(n) : s = str(n) flag = False for i in range(len(s) - 1, -1, -1) : if s[i] == '0' and flag == False : continue if s[i] == '.': flag = True continue if int(s[i]) % 2 == 0 : return "Even" return "Odd" n = 200.290 print(solve(n))
อินพุต
200.290
ผลลัพธ์
Odd