О программе:
Эта программа принимает входную длину целого и целого числа и выдает на выходе минимально возможную сумму, которая возможна после разбиения целого числа на две части. Вы можете найти более подробную информацию здесь .
n = int(input())
s = str(input())
j, i = n // 2, n // 2 + 1
# debug
# print(f'initial \n x = {j}, y = {i}')
while (j > 0 and s[j] == '0'):
j-=1
while (i < n and s[i] == '0'):
i+=1
# debug
# print(f'final\n x = {j}, y = {i}')
if j==0:
print(int(s[0:i]) + int(s[i:n]))
print('statement1')
elif i==n:
print( int(s[0:j]) + int(s[j:n]))
print('statement2')
else:
print(min( int(s[:i])+ int(s[i:]), int(s[:j]) + int(s[j:])))
когда я пытаюсь ввести входное значение:
- 7 и 1234567 - Я получаю правильный вывод 1801
- 4 и 0001 - правильный вывод также 1
но при попытке ввода
4 и 1000 программа выдает вывод ValueError: недопустимый литерал для int () с основанием 10: '' , причину которого я не могу выяснить.