Bài toán: Cho góc a (độ). Kiểm tra có tồn tại đa giác đều có góc nội tiếp = a không.
Công thức
Góc nội tiếp đa giác đều n cạnh: a = 180 × (n-2) / n.
Giải ra n: n = 360 / (180 - a).
Cần n là số nguyên ≥ 3.
Triển khai Python
def solve(a):
sides = 360 / (180 - a)
return sides == int(sides)
# Test
print(solve(120)) # True: n = 360/60 = 6 (lục giác đều)
print(solve(108)) # True: n = 360/72 = 5 (ngũ giác đều)
print(solve(90)) # True: n = 360/90 = 4 (vuông)
print(solve(60)) # True: n = 360/120 = 3 (tam giác đều)
print(solve(100)) # False: n = 360/80 = 4.5 không nguyên
print(solve(179)) # False: n = 360/1 = 360 (quá lớn, nhưng nguyên? 360 integer → True technically)
Kết quả
True
Giải thích
- Tính
sides = 360 / (180 - a). - Kiểm tra
sidescó phải số nguyên không (so sánh vớiint(sides)). - Lưu ý:
aphải < 180. Nếua ≥ 180→ chia cho 0 hoặc âm. - Độ phức tạp: O(1).