> 1 <
| Автор | Сообщение |
leest
11 сообщений |
#1558 2010-03-15 21:12 GMT+3 часа(ов) |
|
Продолжаю изучение хLispa. сижу решаю такую задачку: напишите функцию (f n), которая выводила бы список из 0 и 1 (двоичная система) натурального числа n. я пробовал сделать так:
(defun f (n) (labels ((sp (n s) (cond ((= n 0) (append 0 s)) ((= n 1) (append 1 s)) (t (and ((append (mod n 2) s) (sp (truncate (/ n 2)) s)))) ) )) (sp n nil) ) ) т.е. если 0, добавляем 0 в список s, аналогично для единицы. иначе добавляем остаток от деления n на 2 и запускаем функцию заново с truncate (/ n 2). выдает ошибку... что делаю не так? подскажите пожалуйста. может нужно как-то на две функции разбить? или еще как-то??? заранее спасибо! |
|
misha
465 сообщений |
#1559 2010-03-16 00:06 GMT+3 часа(ов) |
|
Чуток исправил:
(defun f (n) |
|
leest
11 сообщений |
#1577 2010-03-16 10:23 GMT+3 часа(ов) |
|
Очередное преогромнейшее спасибо, Миша!
|
|
> 1 <




