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

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


 
Вернуться
Тема: Имеется задачка, помогите пожалуйста ее решить.
Найти последние 10 цифр числа 1^1+2^2+3^3+,,,1000^1000. ^-возведение в степень

1
  1  Колпаков Денис, 08 июля 2008 г. 13:27:39
      Да , точно, я все возводил в квадрат)
  2  Belyaev_Igor, 08 июля 2008 г. 12:58:44
      Введем обозначение: ** - возведение в степень. [1] = 1**1 = 1; [2] = 2**2 = 4; [3] = 3**3=27(не 9);[4] = 4**4=256; [5] = 5**5 = 3125. [1]+[2]+2 (не равно) [3]. Над формулой нужно еще поработать!
  3  Колпаков Денис, 07 июля 2008 г. 22:59:07
      Блин "...от предыдущего..." нелишнее извините за мусор (еле соображаю)
  4  Колпаков Денис, 07 июля 2008 г. 22:56:44
      там "...от предыдущего..." лишнее ,а тут скобки "( пред и предпредыдущего)+2"
  5  Колпаков Денис, 07 июля 2008 г. 22:54:02
      Думаю можно так: 2-е число отличается от 1-го на 3 , а каждое следующее на разность пред и предпредыдущего+2 от предыдущего , то можно получить следующее и прибавить к результату число из 10 цифр полученого , если в числе стало больше 10 цифр то удалить лишние и т.д.
  6  Belyaev_Igor, 07 июля 2008 г. 22:43:06
      Ну собстна красивое решение в голову не лезет.... а если подсчитать в лоб, при этом используя быстрое возведение в степень(см. Шень "Программирование: теоремы и задачи") и при каждой операции не получать ответ полностью, а хранить только последние 10 цифирей ответа. При этом каждое слагаемое будет не более 10 разрядов.. 1000 слагаемых в сумме даст не более 10^12 - влезет в стандартный тип. При быстром возведении в степень тоже можно обойтись без длинной арифметики, если (как уже говорилось выше) брать остаток от деления на 10^10. Сложность: 1000*log(1000) - 10 тыщ итераций в любой Time Limit влезет. У кого еще какие мысли?
1

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

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