Re[20]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 22.12.10 09:33
Оценка:
M>>>>Ты лучше на выделенное ответь

PC_>>>Я на глупые вопросы не отвечаю, путем не сложных арифметических прикидов можно понять, что результат факториала от числа 1048576 не вместит в зазипованном архиве никакой компьютер, ну или может вместит но будет оооооооочень длинным



M>>Ответь на неглупый. Вернее перепиши его так, чтобы он стал эквивалентен приведенному коду — без дикого жора памяти


L>Приведенный код ничем не лучше в плане потребления памяти (хвостовой рекурсии-то нету). Пожалуй даже хуже, т.к. стек по размеру мягко говоря обычно меньше размера доступной оперативки.


Да, что-то я промахнулся

Правда, если туда добавить хвостовую рекурсию...

factorial( N ) ->
  factorial( N, 1 ).

% tail-recursive:
factorial( 0, Product ) ->
  Product;
factorial( N, Product ) ->
  factorial( N - 1, N * Product ).


Память будет тратиться только на собственно результат Миллион я не высичлял, но 100 000 вполне спокойно обрабатывает.

Думаю, на PC_2 фиг сделаешь.


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.