"Все сообщения пользователя slivka"
Страницы: 1
Пользователь: slivka Сообщений: 4 Статус: Незримый Зарегистрирован: 27 ноября 2008, 4:56 Был:30 ноября 2008, 18:02 | Дата: 27 ноября 2008, 5:19 Сообщение № |
Как перевести число из одной системы счисления в другую, используя рекурсию |
Пользователь: slivka Сообщений: 4 Статус: Незримый Зарегистрирован: 27 ноября 2008, 4:56 Был:30 ноября 2008, 18:02 | Дата: 27 ноября 2008, 5:20 Сообщение № |
РЕКУРСИЕЙ (defun encode (n base &optional tail) (if (zerop n) (format t "~{~C~}"(or tail '(#\0))) (encode (truncate n base) base (cons (digit-char (rem n base) base) tail)))) TRUNCATE и REM - вычисляют неполное частное и остаток. (DIGIT-CHAR n base) - переводит число n, меньшее base, в соответствующую литеру-цифру. ZEROP - проверяет аргумент на равенство 0. FORMAT - распечатывает список цифр в красивом виде. |
Пользователь: slivka Сообщений: 4 Статус: Незримый Зарегистрирован: 27 ноября 2008, 4:56 Был:30 ноября 2008, 18:02 | Дата: 27 ноября 2008, 5:27 Сообщение № |
Алгебраическое выражение Сумма(i=1 до n)Сумма(j=1 до n) (i+j) |
Пользователь: slivka Сообщений: 4 Статус: Незримый Зарегистрирован: 27 ноября 2008, 4:56 Был:30 ноября 2008, 18:02 | Дата: 27 ноября 2008, 5:28 Сообщение № |
(defun summa (n) (setq result 0) (Do ((i 1 (+ 1 i))) ((= i n) result) (Do ((j 1 (+ 1 j))) ((= j n) result) (setq result (+ result i j)) ))) |
Страницы: 1