Cho số n. Xác định số ước của nó là chẵn hay lẻ.
Quan sát: Chỉ có số chính phương mới có số ước lẻ (vì ước xuất hiện theo cặp, trừ căn bậc hai). Do đó, kiểm tra n có phải số chính phương không.
Ví dụ: 75 không phải chính phương → số ước chẵn → Even.
Giải thuật
- Nếu
n < 1trả về. - Tính
sqrt = n**0.5. - Nếu
sqrt*sqrt == n→'Odd', ngược lại'Even'.
Mã ví dụ
def solve(n):
if n < 1:
return
sqrt = n**0.5
if sqrt*sqrt == n:
return 'Odd'
else:
return 'Even'
n = 75
print(solve(n))
Đầu vào
75
Đầu ra
Even