Chia hai số thành giai thừa của chúng; nếu họ chia sẻ bất kỳ, trả lại một giá trị falsey. Nếu không, trả lại một giá trị trung thực. (lấy cảm hứng từ câu hỏi gần đây )
Nói cách khác, viết mỗi số đầu vào là tổng các giai thừa (của số nguyên dương) theo cách tham lam nhất có thể; trả về một giá trị trung thực nếu không có giai thừa xuất hiện trong cả hai biểu diễn, một giá trị falsey khác.
Thí dụ
Cho 20 và 49:
20 = 3! + 3! + 3! + 2!
49 = 4! + 4! + 1!
Không có giai thừa xuất hiện trong cả hai đại diện, vì vậy trả về một giá trị trung thực.
Cho 32 và 132:
132 = 5! + 3! + 3!
32 = 4! + 3! + 2!
3! xuất hiện trong cả hai biểu diễn, vì vậy trả về giá trị falsey.
Tôi / O
Đầu vào và đầu ra có thể thông qua bất kỳ phương tiện tiêu chuẩn .
Đầu vào sẽ luôn là hai số nguyên không âm; không giới hạn trên các số nguyên này ngoài những gì ngôn ngữ của bạn yêu cầu.
Đầu ra nên là một giá trị trung thực hoặc falsey . Các giá trị này không nhất thiết phải nhất quán cho các đầu vào khác nhau, miễn là mọi đầu ra đều đúng / falsey.
Các trường hợp thử nghiệm
Nếu một đầu vào là 0
, câu trả lời sẽ luôn luôn đúng. Các trường hợp kiểm tra trung thực khác:
{6, 3}, {4, 61}, {73, 2}, {12, 1}, {240, 2}, {5, 264}, {2, 91}, {673, 18},
{3, 12}, {72, 10}, {121, 26}, {127, 746}
Nếu cả hai đầu vào là số nguyên lẻ hoặc nếu cả hai đầu vào là cùng một số nguyên dương, thì đầu ra sẽ luôn luôn là falsey. Các trường hợp kiểm tra falsey khác:
{8, 5}, {7, 5}, {27, 47}, {53, 11}, {13, 123}, {75, 77}, {163, 160}, {148, 53},
{225, 178}, {285, 169}, {39, 51}, {207, 334}, {153, 21}, {390, 128}, {506, 584},
{626, 370}, {819, 354}
Đây là môn đánh gôn , vì vậy ít byte nhất sẽ thắng!