Код на Python3, пожалуйста. У меня есть два часа.

На уроках информатики Леша заинтересовался магическими числами. Это такие натуральные числа, сумма цифр которых равна самому числу.

Как-то раз в домашнем задании Леше попалась интересная задача: «Найдите количество магических чисел, меньших или равных N».

Так как Леша увлекается программированием, то он очень хотел бы решить данную задачу с помощью программы, но, к сожалению, ему не хватает на это навыков. Помогите Леше, написав программу, которая находит количество магических чисел, не превышающих N.

Формат входных данных
Первая строка входных данных содержит единственное число N (1⩽N⩽10^9).

Формат результата
Программа должна вывести одно число — количество магических чисел, не превышающих N.

Ответы

Ответ дал: dagdarion
0

Ответ:

print('Enter natural number from 1 to 10^9: ', end='')

N = int(input())

Magic = 0

print(N)

if (N < 1 or N > 10**9):

print('Error imput number')

else:

for x in range(1,(N+1)):

temp = list(str(x))

z = 0

for y in temp:

z += int(y)

if (x==z):

Magic += 1

print('Magics number count: {}'.format(Magic))

Приложения:
Ответ дал: Аноним
1

input_value = int(input('Enter N: '))

assert 1 <= input_value <= 10 ** 9, 'Bad value in N'

result = 0

for i in range(1, input_value + 1):

   local_result = sum([int(r) for r in str(i)])

   if local_result == i:

       result += 1

print(result)

Только у меня один вопрос: магические числа должны быть только положительными? если да то так. Если что, то изменив это, for i in range(1, input_value + 1):  ,ты изменишь от какого числа считаются магические числа.

Вас заинтересует