|
|
|
|
|
|
|
| 21 Даньшин Антон Анатольевич [LIOD - 11FM], 01 мая 2009 г. 15:52:51 |
| Эта задача когда-то была на этом сайте в олимпиаде - тогда я ее решил предпросчетом на джаве)) Совсем недавно эта задача попалась мне на олимпиаде по программированию у нас в Оренбурге - я ее (т.к. не было джавы) решал вообще глупо - разбил на простые множители и удалил пары 2*5, а затем уже перемножил по модулю 10... ))) а на самом деле все решается в пять строчек... )) А у кого какие еще решения??? ;)
|
|
|
| 22 Соболев Евгений, 29 апреля 2009 г. 17:27:04 |
| По поводу задачи с тремя последними цифрами - ваша идея правильная :) Я тоже сделал прекалк, хранил по 8 цифр, но прикол в том, что точно есть короткое решение основанное на математическом факте. К сожалению этого решения я не знаю...
|
|
|
| 23 Соболев Евгений, 26 апреля 2009 г. 18:44:54 |
Эта задача кажется легкой...после того как когда-то на харьковском отборе на Всеукраинскую олимпиаду по информатике решил задачу где нужно было вывести 3 последних ненулевых цифры N!, причем ограничения на N были 1<=N<=10^9.... Да, задачка сложнее. Можно решать аналогично, реализовывая прекалк, сохраняя каждое миллионное значение последних цифр (лучше вообще тип int64 при вычислениях брать, чтобы точности хватило), ну а при чтении N брать нижнее прекалковое и от него плясать максимум делая миллион умножений :) Ну это так, что мне первое в голову пришло...
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |