Автор Тема: Порадуем Семёныча  (Прочитано 11605 раз)
Sirion
Гений-Говорун
*
Offline Offline

Сообщений: 1095



Просмотр профиля Email
« : Февраль 14, 2013, 20:53:04 »

Обозначим за d количество цифр в числе n, за k - то, что останется от m, если отрезать от него n (и, возможно, ведущие нули), за p - (количество цифр в числе m) вычесть d (это не обязательно равняется числу цифр в числе k, ибо те самые ведущие нули). Тогда:

m = k + n*10p = (k*10d + n)*n
k*(10d*n-1) = n*(10p-n)
k = n*(10p-n)/(10d*n-1)

Заметим, что если по этой формуле получится целое k, то оно заведомо будет меньше 10p, то есть влезет по цифрам. Осталось понять, всегда ли мы можем получить целое k при заданном n, варьируя p.
Нам нужно, чтобы 10p - n делилось на 10d*n - 1. Это будет происходить тогда и только тогда, когда (10p - n)*10d + (10d*n - 1) = 10p+d - 1 делится на 10d*n - 1. Заметим, что 10 и 10d*n - 1 взаимно просты. Значит, по теореме Эйлера 10ф(10d*n - 1) - 1 делится на 10d*n - 1. Следовательно, для всякого n существует m = k + 10ф(10d*n - 1)-d
= n*(10ф(10d*n - 1)-d-n)/(10d*n-1) + 10ф(10d*n - 1)-d

Эти пользователи сказали вам СПАСИБО :

fortpost

За это сообщение 1 пользователь сказал спасибо!
« Последнее редактирование: Февраль 14, 2013, 20:59:51 от Sirion » Записан

sirion=irion+srion+rion+siion+iion+sion+ion+siron+iron+sron+ron+sion+ion+son+on+sirin+
+irin+srin+rin+siin+iin+sin+in+sirn+irn+srn+rn+sin+in+sn+n+sirio+irio+srio+rio+siio+
+iio+sio+io+siro+iro+sro+ro+sio+io+so+o+siri+iri+sri+ri+sii+ii+si+i+sir+ir+sr+r+si+i+s