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

Ответы на вопрос

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



Ответ:
Самый простой вариант просто найти счастливое число или нет вот (без вывода ближайшего числа):
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]
Объяснение:
С выводом ближайшего пока не пойму...



Для решения этой задачи, мы можем написать программу на Python. Вот код, который выполняет указанную задачу:
pythondef is_lucky(number):
# Преобразуем число в строку, чтобы легче работать с цифрами
num_str = str(number)
# Проверяем, что длина числа равна 6
if len(num_str) != 6:
return False
# Разбиваем число на две половины
first_half = num_str[:3]
second_half = num_str[3:]
# Вычисляем суммы цифр в каждой половине
sum_first_half = sum(int(digit) for digit in first_half)
sum_second_half = sum(int(digit) for digit in second_half)
# Проверяем, является ли число счастливым
if sum_first_half == sum_second_half:
return True
else:
return False
def find_nearest_lucky_number(number):
while True:
number += 1
if is_lucky(number):
return number
# Вводим шестизначное число
input_number = int(input("Введите шестизначное натуральное число: "))
if is_lucky(input_number):
print("Это счастливое число!")
else:
nearest_lucky_number = find_nearest_lucky_number(input_number)
print(f"Ближайшее счастливое число: {nearest_lucky_number}")
Этот код сначала проверяет, является ли введенное число счастливым (сумма первых трех цифр равна сумме последних трех цифр). Если оно счастливое, он выводит сообщение об этом. В противном случае, он находит ближайшее счастливое число, увеличивая введенное число на 1 до тех пор, пока не найдет счастливое число, и затем выводит его.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili