如何生成一个大于 bigint 大小的连续数字列表

本文关键字:连续 列表 数字 bigint 大于 何生成 一个 | 更新日期: 2023-09-27 18:33:12

类似于使用一些嵌套的 for 循环生成连续数字列表,将 1 加到数字上,然后显示数字。我遇到的麻烦是弄清楚如何在不使用科学记数法显示数字的情况下生成 10^26 和 10^27 之间的连续数字列表。我正在考虑使用 int[26],但我无法弄清楚或绕开如何在我达到 10 后将 1 添加到更高的索引(比如 i[25])并继续计数直到达到 10^27。

如何生成一个大于 bigint 大小的连续数字列表

如果除了递增数字之外没有进行任何计算,请考虑将其表示为字符串并以与手动算术相同的方式将 1 相加:

  • 将字符串初始化为要开始的任何数字。
  • 在最右侧(数字)字符上加 1。
  • 如果是 <= '9',你就完成了。
  • 否则,请将其设置为"0",并在左侧的下一个字符中添加 1。
  • 重复携带过程,直到完成。

我不确定你说的大于 Bigint 是什么意思,你的意思是 System.Uint64 还是 System.Numerics.BigInteger?如果您指的是 BigInteger,那么大小的唯一限制是在处理大数字时可能引发的OutOfMemory异常。

请注意,BigInteger 是不可变的,因此执行类似 myBigInt++ 的操作将创建一个新对象,如果在紧密循环中可能会导致性能问题。有关进一步的信息,请参阅 MSDN 有关该主题的说明