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