У Миши развитое эстетическое чувство. Он считает, что не все числа

У Миши развитое эстетическое чувство. Он считает, что не все числа идиентично добропорядочные. Когда ему печально, он начинает придумывать числа и приводить их в порядок.

Миша очень любит разглядывать сумму цифр числа. Для того чтобы привести в порядок число A, он сначала записывает само число. Позже он пишет сумму цифр этого числа. Потом сумму цифр суммы цифр и так далее, до тех пор, пока еще одно число не станет конкретным. Он считает, что результатом приведения в порядок числа A является сумма всех выписанных чисел, включая само число A.

Миша настолько любит этот процесс, что он даже сменяет ему счёт овец, когда длинно не получается заснуть. Он помнит, что вчера ночкой, когда он в разуме привёл в порядок число A, у него получилось число B. Но вот неудача он не помнит, какое именно он взял число A! Помогите ему в отыскании этого числа.

Входные данные
На ввод подаётся единственное целое число B (1 B 109 )

Выходные данные
Если существует такое число A, что после приведения его в порядок, выходит B, то выведите хоть какое такое число. Если же Миша где-то ошибся в расчётах и такового числа не существует, то выведите -1.

Образцы тестов

входные данные
42
выходные данные
29

входные данные
20
выходные данные
-1

Примечание

Объяснение к первому образцу. Последовательность сумм цифр для 29 состоит из чисел 29, 11, 2. Соответственно, после приведения в порядок число 29 преобразуется в число 42 = 29 + 11 + 2.

решал вот так,
def order(n):
return n + order(sum(map(int, str(n)))) if n gt; 9 else n
def main():
n = int(input())
for i in range(105):
if order(i) == n:
print(i)
break
else:
print(-1)
if __name__ == "__main__":
main()

но прошло только 8/12 тестов.
Язык любой, если что в питон сам переведу.
Стоимость высока!!!

Задать свой вопрос
1 ответ

a = int(input())

s = 1

flag = True

while s lt; a:

   ch = s

   count = ch

   while ch gt; 9:

       ch = sum(map(int,str(ch)))

       count += ch

   if count == a:

       print(s)

       flag = False

       break

   s += 1

if flag:

   print(-1)

Jurka Arepin
нет, проходит только 7/12 тестов, когда мой проходит 8/12
Мостославская Валентина
Function sumdigits(n As Integer) As IntegerDim a(1 To 126), i, j, k, l, s, tt1, t1 As IntegerFor l = 1 To 126a(l) = -1Next lFor l = 1 To 109i = Fix(l / 100)j = Fix((l - 100 * i) / 10)k = l - 100 * i - j * 10s = i + j + ktt1 = Fix(s / 10) + (s Mod 10)t1 = Fix(Log(s) / Log(10))s = s + t1 * tt1 + la(s) = lNext lsumdigits = a(n)End Function'Excel VBA
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо

Разные вопросы.

Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных

Разные вопросы.

Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей

Математика.

Определить предложения какие они по цели высказывания и по интонации

Русский язык.

"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.

Русский язык.

на одной грядке коротышки посадили 3 ряда морковок по 8 штук

Разные вопросы.

эссе на тему какое образование дается в каждой семье

Қазақ тiлi.

Put the verb in brackets into the Present Indefinite. 1The Volga ,

Английский язык.

Сколько стоит коктейль молочный? Точную цену надо?

Математика.

Составить рассказ Из чего складывался культ монарха помазанника Божьего?

История.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт