用python编写任意一个数的阶乘 挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

[更新]
·
·
分类:互联网
1684 阅读

用python编写任意一个数的阶乘

挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

以最高位或最低位为依据分组,写入各个文件
再从条数最多的文件开始,去掉分组标志位,再以最高位或最低位分组,重复以上,得到一组相同数字个数,把所有低于这个条数的文件丢弃,重复过程,可以几十k内存搞定

python求1到20阶乘的和?

def factorial(n):
if n 1:
return 1
else:
return n*factorial(n-1)
def SumFactorial(m):
if m 1 :
return factorial(1)
else:
return factorial(m) SumFactorial(m-1)
m 20
print(SumFactorial(m))