Cho n <= 108 và k<=1012. Tìm m sao cho N! chia hết cho km.
Cho n <= 108 và k<=1012. Tìm m sao cho N! chia hết cho km.
Cần code hay thuật toán, ít ra cũng phải nói rõ chứ, chứ post mỗi đề lên làm sao ai hiểu bạn cần j :3 :3
Theo như đề của bạn, tìm m thỏa mãn n! chia hết k^m->m=0 thì lúc nào N! cũng chia hết cho k^m nhé :p :p
Còn nếu muốn tìm giá trị lớn nhất của m, thì bạn phải phân tích :
N!=2^a[1] * 3^a[2] * 5^a[3].......
k=2^b[1] * 3^b[2]* 5^c[3]
kết muốn m=min(a[1]/b[1], a[2]/b[2], a[3]/b[3],.....)
Bạn giúp mình code được không?
Bổ sung
Input: Tệp văn bản FDP.INP
+ Dòng đầu ghi T là số bổ kiểm thử (T<=100)
+ T dòng sau, mỗi dòng có 2 số n và k.
Output: Tệp văn bản FDP.OUT gồm T dòng, mỗi dòng là kết quả tìm được tương ứng với dữ liệu vào.
TEST
INP
2
5 2
10 10
=> 3
2