gpt4 book ai didi

python - 给定位数时生成 66666 等数字的最快方法

转载 作者:行者123 更新时间:2023-11-28 20:41:16 24 4
gpt4 key购买 nike

我有一个有趣的问题,我想生成一个大数字(~30000 位数字),但它必须是所有相同的数字,比如 66666666666666......

到目前为止,我是通过以下方式完成的:

def fillWithSixes(digits):
result = 0
for i in range(digits):
result *= 10
result += 6
return result

但是这样效率很低,请问有没有更好的办法?用 cpp 或 java 回答也可以。

编辑:

  1. 我们不只是解决 666666..... 我希望它对任何数字都是通用的。 7777777777....44444......55555... 怎么样?

    <
  2. 字符串操作更糟,从当前的O(n) 复杂度增加到O(n^2)

最佳答案

您可以使用公式 666...666 = 6/9*(10**n-1),其中 n 是位数。

因此,在 Python 中,您可以将其写为

n = int(input())
a = 6 * (10**n - 1) // 9
print(a)

关于python - 给定位数时生成 66666 等数字的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33744078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com