Задача 2: Счастливые билеты
Известно, что счастливым считается полученный в общественном транспорте билет, в шестизначном номере которого сумма первых трёх цифр совпадает с суммой трёх последних. Например, билет с номером 513702 является счастливым, потому что 5 + 1 + 3 = 9 и 7 + 0 + 2 = 9.

Петя всю неделю ездил в школу на автобусе и теперь у него есть 5 билетов с номерами:

826179
867288
281999
199992
304802

К сожалению, все эти билеты несчастливые (можете проверить). Помогите Пете для каждого билета узнать два номера: ближайшего к нему счастливого билета с номером, меньшим, чем номер билета Пети, и ближайшего счастливого билет с номером, большим, чем номер билета Пети.

В ответе нужно записать пять строк. Каждая строка должна содержать 2 числа, разделенные пробелом:

первое число должно быть меньше номера билета Пети и являться счастливым;
второе число должно быть больше номера билета Пети и являться счастливым.
Порядок записи чисел в ответе менять нельзя. Если вы не можете найти ответ для какого-то из данных чисел, вместо этого ответа запишите любое шестизначное число.

Ответы

Ответ дал: UmNikolay
9

Ответ:

826178 827557

865748 867498

280514 283175

199991 200002

304502 306027

Объяснение:

Задачка интересная смог решить только методом перебора

(Закономерностей не выявил)

состряпал функцию для Excel

Function Sleft(s As Variant) 'для левых счастливых чисел

For i = 1 To s

   s = s - i

   ls = CInt(Mid(s, 1, 1)) + CInt(Mid(s, 2, 1)) + CInt(Mid(s, 3, 1))

   rs = CInt(Mid(s, 4, 1)) + CInt(Mid(s, 5, 1)) + CInt(Mid(s, 6, 1))

   If ls = rs Then Exit For

Next

Sleft = s

End Function

Function SRight(s As Variant) 'для правых счастливых чисел

For i = 1 To s

   s = s + i

   ls = CInt(Mid(s, 1, 1)) + CInt(Mid(s, 2, 1)) + CInt(Mid(s, 3, 1))

   rs = CInt(Mid(s, 4, 1)) + CInt(Mid(s, 5, 1)) + CInt(Mid(s, 6, 1))

   If ls = rs Then Exit For

Next

SRight = s

End Function


esenialeonova: спс
Похожие вопросы