我来到这个问题是像以下分割由多个阵列的整数的乘法以及采取
你有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不是素数 –