ปัญหา
ให้จำนวน 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