• Помогите решить на python или c++

    Упорядоченные числа

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


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


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


    Входные данные

    Одно целое число b (1 ≤ b ≤ 109).


    Выходные данные

    Если существует такое число a, что после приведения его в порядок, получается b, то выведите любое такое число. Если же Миша где-то ошибся в расчетах и такого числа не существует, то выведите -1.

    на python:
    a=int(input())
    s=1
    f=True
    while s:
    ____ch=s
    ____count=ch
    ____while ch>9:
    ________ch=sum(map(int,str(ch)))
    ________count+=ch
    ____if count==a:
    ________print(s)
    ________f=False
    ________break
    ____s+=1
    if f:
    ____print(-1)

    проходит 7/12 тестов

Ответы 6

  • 8/12
    • Автор:

      godiva
    • 5 лет назад
    • 0
  • 3 - лимит
    • Автор:

      blevins
    • 5 лет назад
    • 0
  • 1 - неправильно
    • Автор:

      deeptpz
    • 5 лет назад
    • 0
  • А на Pascal ответ нужен? Или именно на Python?
  • Можна на Паскаль
    • Автор:

      caleb73
    • 5 лет назад
    • 0
  • a=(int(input()))

    s= a//2

    ch = 0

    while s != a:

       ch=s

       count=ch

       while ch>9:

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

           count+=ch

       if count==a:

           print(s)

           break

       s+=1

    else:

       print(-1)

    • Автор:

      miley
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years