我有一些Python代码,基本上可以确定超级位数:
def superDigit(n, k):
s=n*k
if len(s)==1:
return s
else:
digit=str(superDigit(str(sum(int(i) for i in s.strip())),1))
return digit
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
nk = input().split()
n = nk[0]
k = int(nk[1])
result = superDigit(n, k)
fptr.write(str(result) + '\n')
fptr.close()
奇怪的是,当输入字符串不太大(if input (123 3)[string=123123123]
)时,函数会打印出正确的内容。但是,当输入的int太大时,该函数将返回“由于超时而终止”。
我该如何解决?