|
|
|
|
|
|
|
Вернуться
| 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 влезет. У кого еще какие мысли?
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |