我的代码在处理小数字时可以正常运行,但是当我处理大数字时出现了运行错误。
n = int(input().strip())
a=[]
for a_i in range(n):
a,n,m = [int(a_temp) for a_temp in input().strip().split(' ')]
#n = test cases
#a is a number
# n is no of times a will repeat itself (for example a=12 ,n =2 so y=1212.)
#m is divisor
y=[a]*n
#print(y)
s = map(str, y) # ['1','2','3']
s = ''.join(s) # '123'
s = int(s)
#print(s)
mod=s%m
print(mod)
输入:
2
12 2 17
523 3 11
输出:
5
6
对于这样的输入:
2
366 457429086499 164868357
764 438211694736 385254849
它会出现错误:
Traceback (most recent call last):
File "C:/Users/LENOVO/AppData/Local/Programs/Python/Python35-32/try123.py", line 11, in <module>
y=[a]*n
OverflowError: cannot fit 'int' into an index-sized integer
如何解决这个问题?
[366]*457429086499
是可能的,它将有457,429,086,499个条目,并且需要超过1TB的存储空间。你真的想这样做吗? - John Coleman366 457429086499 164868357
的输出是什么?我无法想象得到那个输出的唯一方法是创建一个非常大的列表。 - John Coleman