Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
[Вернуться к задаче]   1 2
  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 брать нижнее прекалковое и от него плясать максимум делая миллион умножений :) Ну это так, что мне первое в голову пришло...
 1 2

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru