由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 如何求一个整数阶乘的各位数字和
相关主题
发一个Startup的面经 - AffirmF面经
贡献一道面试题目:找出在一个数组里面只出现1次的两个数字今天竟然把MULTIPLY(大数相乘)写完了,发帖庆祝
问一道前几天在版上看见的题这道题怎么解
大整数相乘谁贴个bug free的code来发个我的Leetcode的Python答案吧
一道要求常数空间和O(n)时间的排序题贴几道老题目
L家phone面,悲剧在整数数组中加运算符号和括号,求max
大牛给个大数(+-*)的面试解答吧关于Leetcode
上一道我以前喜欢出的题目吧不用大整数如何计算组合数?
相关话题的讨论汇总
话题: result话题: num1话题: num2话题: len话题: temp
进入JobHunting版参与讨论
1 (共1页)
b***f
发帖数: 11
1
如题 整数小于2000
A*********c
发帖数: 430
2
goog is the answer.
http://math.stackexchange.com/questions/451065/find-the-sum-of-

【在 b***f 的大作中提到】
: 如题 整数小于2000
w****r
发帖数: 28
3
试着写了个python的, n = 2000 花时间大概十几秒钟
def tolist(n):
result = []
while (n >= 10):
result.append(n % 10)
n = n / 10
result.append(n)
return result

def mult(num1, num2):
result = [0]*(len(num1) + len(num2))
for i in range(len(num1)):
for j in range(len(num2)):
temp = num1[i] * num2[j]
if temp >= 10:
result[i + j] += temp % 10
result[i + j + 1] += temp / 10
else:
result[i + j] += temp
for k in range(len(result)):
if result[k] >= 10:
result[k + 1] += result[k] / 10
result[k] = result[k] % 10
if result[-1] == 0:
result.pop(-1)
return result

def factsum(n):
result = [1]
for i in range(1, n + 1):
result = mult(result, tolist(i))
return sum(result)
1 (共1页)
进入JobHunting版参与讨论
相关主题
不用大整数如何计算组合数?一道要求常数空间和O(n)时间的排序题
问一个智力题:猜数字L家phone面,悲剧
leetcode上的2个整数相除大牛给个大数(+-*)的面试解答吧
FLG面试题,压缩整数 (转载)上一道我以前喜欢出的题目吧
发一个Startup的面经 - AffirmF面经
贡献一道面试题目:找出在一个数组里面只出现1次的两个数字今天竟然把MULTIPLY(大数相乘)写完了,发帖庆祝
问一道前几天在版上看见的题这道题怎么解
大整数相乘谁贴个bug free的code来发个我的Leetcode的Python答案吧
相关话题的讨论汇总
话题: result话题: num1话题: num2话题: len话题: temp