malekskv откуда задача ? с
http://acm.timus.ru ? Вроде я там видел подобную...
Решение выглядит очень просто:
1. Пусть abc...defxy - формат числа, которое надо найти
2. Нам даются две последние цифры - x и y ( в примере x=0 y=6 )
3. Тогда если искомое число умножить на 2, должно получится число xyabc...def
3. Попробуем умножить искомое число на 2 в столбик:
Тогда видно, что:
f = y*2 mod 10
p = y*2 div 10 // перенос, если y*2 >= 10
След. шаг:
e = (x*2+p) mod 10
p = (x*2+p) div 10
След. шаг:
d = (f*2+p) mod 10
p = (f*2+p) div 10
И т.д
И выполнять это надо до момента, когда две последние полученные цифры станут равными x и y и перенос при этом будет равен 0