|
|
|
|
|
|
|
| 1 Странник, 22 апреля 2021 г. 18:51:29 |
| ... значений; 2) когда количество уравнений в группе четное, тогда при замыкании получается что-то вроде a0 = a0 + d, то есть если d не 0, то решений нет, а иначе множество решений a0, a1, ..., am ограничивается их диапазоном возможных значений. Диапазон возможных значений для ai от 0 до 9, если цифра не самая старшая, иначе от 1 до 9.
|
|
|
| 2 Странник, 22 апреля 2021 г. 18:50:47 |
| Hint!!! Спойлер!!! Продолжение!!! Второй способ: давайте запишем искомое число в виде последовательности десятичных цифр, под ним запишем его сдвиг на k, а затем начнем складывать в столбик. В процессе сложения могут появляться переносы. Также нам известен результат сложения. Получается, что неизвестные разряды и неизвестные переносы можно связать вместе и записать в виде системы линейных уравнений (на листике это будет наглядно). А дальше можно просто перебрать все возможные комбинации переносов - один перенос имеет значение 0 или 1, так что количество комбинаций O(2^log10(n)). Дальше можно заметить, что уравнения можно разделить на замкнутые группы наподобие a0+a1=c0, a1+a2=c1, a2+a3=c2, ..., am+a0=cm. Здесь можно каждую неизвестную ai выразить через a0 по кругу и замкнуть круг на последнем уравнении. И там появляется два случая: 1) когда количество уравнений в группе нечетное, a0 выражается однозначно - если a0 получилось целым, то можно найти все остальные неизвестные ai и проверить на диапазон возможных
|
|
|
| 3 Странник, 22 апреля 2021 г. 17:56:18 |
| Hint!!! Спойлер!!! Эту задачу можно решить как минимум двумя способами. Во-первых, можно перебрать длину l исходного числа - тут всего два варианта: len(n) и len(n)-1 (сами подумайте, почему это так). При фиксированной длине числа решаем задачу. Первый способ: представить искомое число в виде двух частей x и y - старшей и младшей (старшая имеет длину k, младшая l-k), затем поменять местами младшую часть со старшей (получить число yx) - это и есть сдвиг на k. Затем сложить xy с yx и получить n. Далее сгруппировать слагаемые и получить линейное диофантово уравнение с неизвестными x, y. Осталось его решить с некоторыми ограничениями - длина числа x составляет ровно k, то есть находится от 10^(k-1) до 10^k-1, а длина числа y с лидирующими нулями составляет l-k, то есть находится в промежутке от 0 до 10^(l-k)-1.
|
|
|
| 4 Рахимов Ворис, 18 декабря 2020 г. 15:37:23 |
| то что я сказал ниже это TL. лучше если у вас нет идей то надо искать каждую цифру N с конца)
|
|
|
| 5 Рахимов Ворис, 18 декабря 2020 г. 14:15:17 |
| if (k <= 8) перебираем сдвигаемую часть , иначе вторую часть )
|
|
|
| 6 Лукьянов Иван, 26 января 2016 г. 0:28:04 |
| Обычно такие задачи стОят на этом сайте гораздо больше баллов, чем 50.
|
|
|
| 7 Тер Саркисов Богдан Олегович, 22 июня 2014 г. 1:18:09 |
| Диофантово уравнение решить что ли?
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |