Editorial for Giai thừa
Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Subtask 1: Dễ dàng nhận thấy rằng , nên ta có thể kiểm tra các giá trị
và tìm đáp án.
Độ phức tạp:
Subtask 2: Để chia hết cho
và giá trị
là nhỏ nhất,
phải là bội số của
.
Ban đầu gán . Ta tiến hành vòng lặp như sau với điều kiện
:
- Tăng giá trị
- Giảm giá trị
.
- Gọi
là giá trị lớn nhất thỏa mãn
chia hết cho
, khi đó tiếp tục giảm giá trị
.
Giá trị cần tìm chính là
.
Độ phức tạp:
Subtask 3: Ta tiến hành phân tích thành các thừa số nguyên tố:
. Do
là các số nguyên tố nên để
chia hết cho
,
phải là bội số của các
. Gọi
là số nhỏ nhất thỏa mãn
chia hết cho
, khi đó giá trị
cần tìm là:
Với mỗi , để tìm giá trị
nhỏ nhất, ta có thể sử dụng phương pháp tương tự ở Subtask
.
Độ phức tạp:
Comments