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

ตรวจสอบว่าจำนวนตัวหารเป็นเลขคู่หรือคี่ ใน Python


ปัญหา

ให้จำนวน n ตรวจสอบว่าจำนวนตัวหาร (divisors) เป็นคู่หรือคี่

ทฤษฎีสำคัญ

จำนวนตัวหารเป็นคี่ ⟺ n เป็นจำนวนกำลังสองสมบูรณ์ (Perfect Square)
เพราะตัวหารมักคู่กัน (d, n/d) ยกเว้นกรณี d = n/d (รากที่สอง)

ตัวอย่าง

n = 75 → ตัวหาร: 1,3,5,15,25,75 (6 ตัว, คู่) → "Even"
n = 36 → ตัวหาร: 1,2,3,4,6,9,12,18,36 (9 ตัว, คี่) → "Odd"

โค้ดตัวอย่าง

def solve(n):
    if n < 1:
        return
    root = int(n ** 0.5)
    return "Odd" if root * root == n else "Even"

print(solve(75))  # Even
print(solve(36))  # Odd

อินพุต / เอาต์พุต

Input:  75
Output: Even