n
多数の範囲で連続する桁の最大の合計を取得する必要があります。
たとえば、範囲は次のよう5^150000
になります。この範囲内で、連続する50,000桁の最大の合計を求めます。
私が2つのループを使用するというアプローチは、決して終わらないようです。ご意見をいただければ幸いです。
コード:
count = 0
tempsum = 0
summ = 0 # variables init
oldlist = ''
newlist = ''
num = str(3**2209) # for example
for digit in num: # go over all the digits in the number
while count < 12 and len(num) >= 12 : # check in 12-digits blocks while possible
oldlist += num[count] # update old list with new digit
tempsum += int(num[count]) # add current digit to sum
count += 1
if tempsum > summ: # check if new sum is larger than old one
summ = tempsum # update sum
newlist = oldlist # update the sequence list
oldlist = ''
count = 0
tempsum = 0
num = num[1:] # slice the 'first' digit of the number
print(newlist, summ) # print sequence and desired sum