我來到這個問題是像以下分割由多個陣列的整數的乘法以及採取
你有n個整數的數組模(整數可以像10^9一樣大)和你有q個查詢,每個查詢都有一個數組的索引,所以你必須乘以沒有那個特定索引的整數的數組,然後你有一個數字m,那麼,你必須用這個數m來模(它可以最多10^9)並給出每個查詢的結果。
e.g. suppose you have an array of n = 5 integers
1,2,3,4,5
and you have q = 3 queries 1,3, 5 and mod value m = 100.
for 1st query: (2*3*4*5) mod 100 = 20
for 2nd query: (1*2*4*5) mod 100 = 40
for 3rd query: (1*2*3*4) mod 100 = 24
so output is 20,40,24
我不想讓代碼告訴我應該是最優的方法。
在實際的問題是米素? – dmuir
您的問題的答案取決於m和列表中整數之間的關係。是素數?列表中的所有數字是否相對重要?如果其中任何一個如此,則有一個快速且簡單的算法。如果沒有,或者你不知道,最好的算法是較慢但仍然可行。 –
不,m不是素數 –