An đã nghĩ ra một nhiệm vụ cho bản thân để thư giãn một chút. Anh ta chọn hai số nguyên dương \(a\) và \(b\), rồi tính ước số chung lớn nhất của các số nguyên “\(a\) giai thừa” và “\(b\) giai thừa”, tức là An muốn tìm ƯCLN(\(a!\), \(b!\)).
Ta biết rằng giai thừa của số nguyên dương \(n\), kí hiệu là \(n!\), là tích của tất cả các số nguyên dương nhỏ hơn hoặc bằng \(n\). Như vậy \(n!\ = \ 1\ \times \ 2\ \times \ \ldots\ \times \ (n\ - \ 1)\ \times \ n\). Ví dụ: \(1!\ = \ 1,\ 4!\ = \ 1\ \times \ 2\ \times \ 3\ \times \ 4\ = \ 24\).
Nhắc lại rằng ước số chung lớn nhất của hai số nguyên dương \(x\) và \(y\), kí hiệu là ƯCLN(\(x,\ y\)), là số nguyên dương 𝑞 lớn nhất sao cho \(q\) là ước của cả \(x\) và \(y\).
Bạn có thể giải quyết được nhiệm vụ của An không?
Dữ liệu vào: Gồm một dòng chứa hai số nguyên \(a\) và \(b\) \((1\ \leq \ a,\ b\ \leq \ 10^{9}\ ;\ \min(a,\ b)\ \leq \ 20)\)
Output: Ghi một dòng chứa một số nguyên là ước số chung lớn nhất của các số nguyên \(a!\) và \(b!\).
Input | Output |
---|---|
4 3 | 6 |
17 15 | 1307674368000 |
16 763121621 | 20922789888000 |
Ràng buộc:
+ 60% số test ứng với 60% số điểm của bài thỏa mãn: \(1\ \leq \ a,\ b\ \leq \ 12\);
+ 20% số test khác ứng với 20% số điểm của bài thỏa mãn: \(1\ \leq \ a,\ b\ \leq \ 20\);
+ 20% số test còn lại ứng với 20% số điểm của bài không có ràng buộc gì thêm
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38904 |