Đề bài
Xem bản gốc (English)Tìm các số nguyên dương a < b < c sao cho a² + b² = c² và a + b + c = perimeter. Trả về tích lớn nhất a × b × c trong số các tam giác thỏa mãn, hoặc −1 nếu không có tam giác nào. Bài toán này tổng quát hóa bài toán chu vi cố định và xử lý rõ ràng trường hợp có nhiều đáp án.
Cài đặt hàm pythagorean_product(perimeter).
Đầu vào
perimeter: Tổng ba cạnh yêu cầu.
Đầu ra
Trả về tích lớn nhất, hoặc −1 nếu không có tam giác nào thỏa mãn.
Ràng buộc
3 ≤ perimeter ≤ 100.000. Tích nằm trong phạm vi số nguyên có dấu 64-bit.
Ví dụ
Đầu vào:
perimeter = 30
Kết quả mong đợi:
expected = 780
Đầu vào:
long long perimeter = 30;
Kết quả mong đợi:
long long expected = 780;
Đầu vào:
long perimeter = 30;
Kết quả mong đợi:
long expected = 780;
Giải thích
Tam giác là (5, 12, 13): 25 + 144 = 169 và 5 + 12 + 13 = 30. Tích của nó là 780.
Đầu vào:
perimeter = 11
Kết quả mong đợi:
expected = -1
Đầu vào:
long long perimeter = 11;
Kết quả mong đợi:
long long expected = -1;
Đầu vào:
long perimeter = 11;
Kết quả mong đợi:
long expected = -1;
Giải thích
Không có bộ ba cạnh tam giác vuông nguyên dương tăng dần nào có tổng bằng 11.
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.