这类似于使用一些嵌套的 for 循环生成一个连续数字列表,将数字加 1,然后显示该数字。我遇到的麻烦是弄清楚如何在不使用科学记数法显示数字的情况下生成介于 10^26 和 10^27 之间的连续数字列表。我正在考虑使用 int[26],但我不知道如何将 1 添加到更高的索引(比如 i[25])一旦我达到 10 并继续计数直到达到 10^27。
问问题
384 次
2 回答
2
如果除了增加数字之外您没有进行任何计算,请考虑将其表示为字符串并以与手动算术相同的方式加 1:
- 将字符串初始化为您想要开始的任何数字。
- 在最右边的(数字)字符上加 1。
- 如果它是 <= '9' 你就完成了。
- 否则,将其设置为“0”并将左侧的下一个字符加 1。
- 重复携带过程,直到完成。
于 2012-05-04T02:49:44.213 回答
0
我不确定您所说的大于 Bigint 是什么意思,您是指System.Uint64还是System.Numerics.BigInteger?如果您指的是 BigInteger,则对大小的唯一限制是在OutOfMemory
处理非常大的数字时可能引发的异常。
请注意,BigInteger 是不可变的,因此执行类似操作myBigInt++
会创建一个新对象,并且如果在紧密循环中可能会导致性能问题。有关更多信息,请参阅MSDN关于该主题的注释
于 2012-05-04T03:37:30.833 回答