【发布时间】:2016-02-18 01:33:26
【问题描述】:
我有一个有趣的问题,我想生成一个大数字(~30000 位),但它必须是所有相同的数字,例如 66666666666666.......
到目前为止,我已通过以下方式完成此操作:
def fillWithSixes(digits):
result = 0
for i in range(digits):
result *= 10
result += 6
return result
但是,这样效率很低,想知道有没有更好的方法?用cpp或java回答也可以。
编辑:
我们不只是解决
666666.....,我希望它对任何数字都是通用的。7777777777....或44444........或55555...怎么样?字符串操作更糟糕,从当前的
O(n)复杂度增加到O(n^2)。
【问题讨论】:
-
唯一数字是什么意思....另外,您可以将
result设为字符串并与result += '6'连接,然后返回int(result),但如果数字和您一样大说,我很确定会达到int的限制 -
或者,更好的是,只是
return int('6'*digits),因为'str'*int = 'strstrstr...'#int times -
@RNar - python 的 Ints 任意大。
int('6' * 10000)效果很好。
标签: python random numbers time-complexity