Предмет: Информатика, автор: robot228mir

ДАЮ 50 БАЛЛОВ!!!
Вводится шестизначное натуральное число. Проверить, является ли оно счастливым (сумма первых трёх цифр равна сумме последних трёх цифр) и, если не является, вывести ближайшее счастливое число.

Ответы

Автор ответа: korsa351
1

number = [int(i) for i in input().strip()]

if sum(number[:3]) == sum(number[3:]):

   print('Число является счастливым')

else:

   print('Число несчастливое')

   str_numb = ''

   for i in number:

       str_numb += str(i)

   for numb in range(int(str_numb), 1000000):

       if sum(int(j) for j in str(numb)[:3].strip()) == sum(int(k) for k in str(numb)[3:].strip()):

           print(f'Ближайшее счастливое число - {numb}')

           break


valeron9814: У меня от этой строки щас мозг взорвертся)) for numb in range(int(str_numb), 1000000):

if sum(int(j) for j in str(numb)[:3].strip()) == sum(int(k) for k in str(numb)
valeron9814: Можно пару слов как оно работает? Типо оно в диапазоне от данного числа до 100000 ищет ближайшее?..
robot228mir: спасибо но можете написать на паскале
Автор ответа: valeron9814
0

Ответ:

Самый простой вариант просто найти счастливое число или нет вот (без вывода ближайшего числа):

a = input('Введите 6-ти значное число:')

b = list(map(int, str(a))) #разбиваем на символы строку с числами на список

if len(b)==6:

 if b[0] + b[1] + b[2] == b[3] + b[4] + b[5]:

   print("Счастливое")

 elif b[0] + b[1] + b[2] > b[3] + b[4] + b[5] or b[0] + b[1] + b[2] < b[3] + b[4] + b[5]:

   print("Не счастливое")

   c = b[0] + b[1] + b[2] - b[3] + b[4] + b[5]

Объяснение:

С выводом ближайшего пока не пойму...

Похожие вопросы
Предмет: Русский язык, автор: ildarnabiev