如何在Julia中计算大整数N=99999**99999的各位数字之和?
在Julia中计算大整数99999^99999的各位数字之和
嘿,刚好Julia对大整数的支持非常友好,实现这个需求的思路和你用Python写的逻辑几乎一致,只是语法上有一点点差异,很容易上手!
直接上最简洁的实现代码:
sum(parse.(Int, string(99999^99999)))
如果拆解开看每一步,和Python的写法对应得特别清楚:
99999^99999:Julia原生支持任意精度整数,直接计算毫无压力,完全不用操心溢出问题;string(...):把大整数转换成字符串,对应Python里的str(N);parse.(Int, ...):这里的.是Julia的广播操作,会自动遍历字符串的每个字符,把它们转换成整数,作用就相当于Python里的map(int, ...);sum(...):对转换后的整数数组求和,和Python的sum()用法完全一致。
如果你更喜欢分步写,可读性会更好:
# 计算目标大整数 large_num = 99999^99999 # 将整数转成字符串,并把每个字符解析为整数 digits = parse.(Int, string(large_num)) # 计算各位数字之和 total_sum = sum(digits) # 输出结果 println(total_sum)
两种写法都能得到你想要的结果,选哪种看个人习惯就好~
内容的提问来源于stack exchange,提问作者Lijo Joseph
相关产品推荐
相关产品推荐

