-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|||||||||||
1 | |||||||||||
Не знаю как отладить14.03.2019, 19:20. Показов 1947. Ответов 32
Здравствуйте. Мне помогли решить задачу на informatics. Но она прошла не все тесты. Какие не знаю. Не получилось ничего.
Пожалуйста помогите У Миши развитое эстетическое чувство. Он считает, что не все числа одинаково порядочные. Когда ему грустно, он начинает придумывать числа и приводить их в порядок. Миша очень любит рассматривать сумму цифр числа. Для того чтобы привести в порядок число 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. Вот решение:
0
|
14.03.2019, 19:20 | |
Ответы с готовыми решениями:
32
Подскажите ,как отладить прогу Как отладить консольную программу? Не понимаю как отладить программу Как обозначить дату если я знаю только месяц и год, а число не знаю |
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
|
||||||
17.03.2019, 03:19 | 21 | |||||
Сообщение было отмечено CyberNinjaProg как решение
Решение
Взаимно прошу прощения, забыл учесть тот факт, что нужно вызывать функцию разложения на число только если текущее число не состоит с одной цифры.
Это прибавило +1 пройденный тест. Спасибо, что помогли найти неточность
1
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
17.03.2019, 04:12 | 22 |
Еще не все тесты что-ли? Если не проходит по времени, то рассмотрите границы поиска. В худшем случае сумма цифр числа A получится 79 (определено опытным путём), следующая сумма 16, а затем 7, итого
B = A + 79 + 16 + 7 = A + 102 . То есть границы поиска числа A можно сузить до [B - 102; B] .
0
|
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
|
|
17.03.2019, 11:00 | 23 |
В задании темы неправильно написана правая граница. Она должна быть 10 в степени 9, а не 109 (узнал на сайте). Тогда в худшем случае может быть гораздо большая сумма.
Да и зачем мне пытаться ломать голову над решением - пусть это делает автор темы. Решение есть, не проходит лишь один тест по времени. Поиграться с границами не столь трудно
1
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
17.03.2019, 11:33 | 24 |
Это уже с учетом степени, относительно числа B. Если будут все цифры 9, сумма будет
81 + 9 . Но это не худший случай. 102 получится из 999999997, 999999988 и подобных.Ради интереса, например. Каждый сам придумывает для себя причины. Впрочем, вы правы, это уже не наша проблема. ТС вообще никакого не принимает участия, похоже ему пофиг, лишь бы готовое решение выложили
1
|
-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|
17.03.2019, 15:03 [ТС] | 25 |
Нет это не так. Я немного был занят и сегодня я читал все ваши рассуждения и сделал выводы. Огромное вам спасибо!
Добавлено через 26 минут время 1.003 sec
0
|
║XLR8║
|
||||||
17.03.2019, 21:07 | 26 | |||||
CyberNinjaProg, Krokodil9798, Байт, valen10, а мне в кайф было решить. Код самодокумментирующий с пояснениями алгоритма.
1
|
-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|
17.03.2019, 23:10 [ТС] | 27 |
извините. к сожалению нельзя использовать массивы. так в предисловии сказано....
0
|
-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|
17.03.2019, 23:13 [ТС] | 28 |
К сожалению....
0
|
-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|
17.03.2019, 23:15 [ТС] | 30 |
Вот
0
|
║XLR8║
|
||||||
17.03.2019, 23:53 | 31 | |||||
CyberNinjaProg, 100
Это откуда?
0
|
-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|
18.03.2019, 00:11 [ТС] | 32 |
Вот
0
|
║XLR8║
|
|
18.03.2019, 01:45 | 33 |
CyberNinjaProg, Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)
0
|
18.03.2019, 01:45 | |
18.03.2019, 01:45 | |
Помогаю со студенческими работами здесь
33
Как отладить мою dll, используемую как плагин в стороннем приложении? Как отладить службу? Как отладить JS на сайте? Как отладить программу? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |