Từ http://en.wikipedia.org/wiki/Trigin :
Viết chương trình có ba bộ dữ liệu tọa độ 2d (Cartesian) và phân loại hình dạng mà ba điểm này mô tả.
Trong hầu hết các trường hợp, các điểm này sẽ mô tả một tam giác gồm nhiều loại khác nhau. Trong một số trường hợp suy biến, các điểm sẽ mô tả một điểm đơn hoặc một đường thẳng. Chương trình sẽ xác định thẻ nào sau đây áp dụng cho hình dạng được mô tả:
- Điểm (3 điểm là đồng sự cố)
- Đường thẳng (3 điểm nằm trên một đường thẳng - không quá 2 điểm có thể là sự cố)
- Bình đẳng (3 cạnh bằng nhau, 3 góc bằng nhau)
- Isosceles (2 cạnh bằng nhau, 2 góc bằng nhau)
- Scalene (0 cạnh bằng nhau, 0 góc bằng nhau)
- Phải (1 góc chính xác là π / 2 (hoặc 90 °))
- Xiên (0 góc chính xác là π / 2 (hoặc 90 °))
- Obtuse (1 góc> π / 2 (hoặc 90 °))
- Cấp tính (3 góc <π / 2 (hoặc 90 °))
Lưu ý rằng đối với một số hình dạng được mô tả, nhiều hơn một trong các thẻ trên sẽ được áp dụng. Ví dụ, bất kỳ góc phải nào cũng sẽ là isosceles hoặc scalene.
Đầu vào
- Chương trình có thể đọc 3 tọa độ đầu vào từ STDIN, dòng lệnh, biến môi trường hoặc bất kỳ phương thức nào thuận tiện cho ngôn ngữ bạn chọn.
- Tuy nhiên, đầu vào phối hợp với tôi được định dạng thuận tiện cho ngôn ngữ bạn chọn. Có thể giả định rằng tất cả các số đầu vào được định dạng tốt đối với các kiểu dữ liệu mà bạn kết thúc sử dụng.
- Không có gì có thể được giả định về thứ tự của tọa độ đầu vào.
Đầu ra
- Chương trình sẽ xuất ra STDOUT, hộp thoại hoặc bất kỳ phương thức hiển thị nào thuận tiện cho ngôn ngữ bạn chọn.
- Đầu ra sẽ hiển thị tất cả các thẻ áp dụng cho hình dạng được mô tả bởi tọa độ đầu vào.
- Thẻ có thể là đầu ra theo thứ tự bất kỳ.
Các quy tắc khác
- Thư viện / API lượng giác của ngôn ngữ của bạn được cho phép, nhưng bất kỳ API nào tính toán cụ thể các loại hình tam giác đều bị cấm.
- Khi xác định sự bằng nhau của các góc hoặc độ dài của các cạnh, bạn có thể sẽ kết thúc việc so sánh các giá trị của dấu phẩy động. Hai giá trị như vậy được coi là "bằng nhau" nếu một giá trị nằm trong khoảng 1% của giá trị kia.
- Lỗ hổng tiêu chuẩn của người Viking không còn buồn cười
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng.
Ví dụ
Input Output
(1,2) (1,2) (1,2) Point
(1,2) (3,4) (5,6) Line
(0,0) (1,1) (2,0) Isosceles Right
(0,0) (2,1) (10,1) Scalene Oblique Obtuse