สมมุติว่าเรามีตัวเลขไม่ติดลบสองตัวทางซ้ายและขวา เราต้องหาจำนวนคี่ระหว่างซ้ายและขวา (รวม)
ดังนั้น ถ้าอินพุตเป็นเหมือน ซ้าย =3 ขวา =15 ผลลัพธ์จะเป็น 7 เพราะมีเลขคี่อยู่ 7 ตัว ซึ่งอยู่ในช่วง [3,5,7,9,11,13,15] ก็จะมี 7 องค์ประกอบ
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ถ้าซ้ายเป็นคี่ หรือขวาเป็นคี่ แล้ว
-
คืนค่า 1 + ผลหารของ (ขวา-ซ้าย) / 2
-
-
มิฉะนั้น
-
ส่งคืนผลหารของ (ขวา-ซ้าย) / 2
-
ตัวอย่าง (Python)
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(left, right): if left % 2 == 1 or right % 2 == 1: return (right-left) // 2 + 1 else: return (right-left) // 2 left = 3 right = 15 print(solve(left, right))
อินพุต
3, 15
ผลลัพธ์
7