Tất cả thử thách
Trung bình 0 đã giải Tỷ lệ chấp nhận 0%

Tích Cạnh Tam Giác Vuông

Tìm tích lớn nhất của các cạnh của một tam giác vuông có cạnh là số nguyên với chu vi cho trước.

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ụ

Ví dụ 1
Đầ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.

Ví dụ 2
Đầ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.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.