有朋友问我:
如果2^10 = 1024
,我们可以取 1024 并分解和总结它的数字:
1+0+2+4 = 7.
这很简单。
然而,当输入是2^30000
(输入实际上是一个长字符串"1000..."
)时——没有 .net 类型可以保存这个值。
所以必须有一个技巧来求和它的数字(十进制值的数字)......
编辑:
相关技巧(用于寻找10^20 - 16
)
100 = 10^2(一个和两个零)
10^20 =(一个和 20 个零)
因此:
10^20 - 16 = 18 个 9,一个 8 和 4。
18*9+8+4 = 174
但是我还没有成功地将这个解决方案转换为我的问题。(我尝试了很多)。
*我将此问题标记为 .net,因为我可以使用 .net 库中的字符串函数、数学函数。*
问题
这里有什么技巧可以让我将许多数字相加x^n
吗?
这里有什么诀窍?
编辑#2:添加了 .net2 标签(biginteger 不可用) - 我想知道没有 biginteger 我怎么能做到。(我正在寻找隐藏的技巧)