История изменений
Исправление
wota,
(текущая версия)
:
ЗЫЖ и сравни сложность кода...
(defun factorial (x)
(defun iter (y c x)
(if (> c x)
y
(iter (* y c) (+ c 1) x)))
(iter 1 1 x))
factorial (x) {
int iter(y, c) {
return c > x ? y : iter(y * c, c + 1);
}
return iter(1, 1);
}
да - на С (хоть и чуть нестандартном - под gcc с nested functions) попроще будет
Исходная версия
wota,
:
ЗЫЖ и сравни сложность кода...
(defun factorial (x)
(defun iter (y c x)
(if (> c x)
y
(iter (* y c) (+ c 1) x)))
(iter 1 1 x))
factorial (x) {
int iter(y, c) {
return c > x ? y : iter(y * c, c + 1);
}
return iter(1, 1);
}
да - на С (хоть и чуть нестандатном - под gcc) попроще будет