Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra góc nội tiếp có tạo đa giác đều không (Python)

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 sides có phải số nguyên không (so sánh với int(sides)).
  • Lưu ý: a phải < 180. Nếu a ≥ 180 → chia cho 0 hoặc âm.
  • Độ phức tạp: O(1).