用中国剩余定理求大整数的算法

时间:2015-02-24 23:44:08

标签: python list integer-arithmetic modular-arithmetic chinese-remainder-theorem

这是由Python完成的

假设我们将求幂运算集合的总和表示为元组列表,其中每个元组包含两个整数:基数和指数。例如,列表[(2,4),(3,5),(-6,3)]表示权力之和 2 4 + 3 5 +( - 6) 3

实现一个函数sumOfPowers(nes, ps),它将一个或多个元组的列表nes(即nes形式为[(a1,n1),...,(ak,nk)])作为其第一个参数,并且一个或多个素数ps的列表(即[p1,...,pm]形式的列表)作为其第二个参数。只要满足以下条件,该函数应返回权力总和的正确结果(例如,在具有无限内存和时间的计算机上):

  

0≤a1 n1 + ... + ak nk < p1⋅...⋅pm

您可以假设第二个列表包含不同的素数。您可能不会认为第一个输入列表中的数字具有任何特定的模式或关系;它们可以是任何顺序,它们可以是任何大小,它们可能分享也可能不分享因素。您的实施必须在非常大的输入上有效工作

0 个答案:

没有答案