来自2个分解列表的gcd使用计数器python

时间:2015-09-10 17:53:59

标签: python counter greatest-common-divisor

我需要使用他们的因子分解得到2个数字的最大公约数 这些因素将被放入柜台

c=Counter(factorslist(a))
d=Counter(factorslist(b))

所以我想像

一样添加列表
g=c and d

然后我在计数器内相互重叠我应该能够得到gcd所以如果g是(2,2,3,8)我想要它来计算2*2*3*8

我遇到了很多麻烦,是否已经有了这样的计数器功能?或者我是否需要一个循环系统地将每个数字组合在一起?我需要先将它转换为套装或其他东西吗?

更新:好的,所以我所做的是使用g = c& d将它们加在一起 炒好了 现在我试图让我的算法工作     溶胶= 1     对于范围内的i(maxg + 1):         如果g [i]!= 0:          K = G [i]于          溶胶=溶胶*(I k)的     返回溶胶 所以我要检查每个数字中有多少是在g的公因子列表中,然后将数字乘以它们的数量,然后将sol乘以,例如,五个二是sol = sol (5 * 2 )。这似乎适用于低gcds约30和更少的数字?并且它适用于复制品,但如果我用1000,500运行,我得到60回...即使1000和990给我10回。

0 个答案:

没有答案