 1. (1 )
            㭪i f(x) 祭 㯭 稭:
            f(x) = 3*x+1,  x - p, x<>1.
            f(x) = x/2  ,  x - p.
             x = 1,  ᫥ 㭪i 㯨.
  p쭨 N  ii N, f(N), f(f(N)), ..., 1.
H 㭪i (PROBLEM3X n), 猪 p  ⢮p ii.


 2. (1 )
H ᫥ 㭪i f(x) = sin(x) i  娡 EPS
(SIN_MY x EPS). i: ᪮p p i  p p.
sin(x) = x - (x^3)/3! + (x^5)/5! - (x^7)/7! + (x^9)/9! - ...


 3. (1 )
 i ⠪ ᫮, 瘟 i     ᯠ i⥩ 
ᥫ lst1, lst2  lst3. 㭪i (FIND3 lst1 lst2 lst3)    
᫮ (  i)  ᮢ i O(K+L+M),  K, L, M -  
ii i⥩, i  NIL.


 4. ( , 2 )  p 㯪 ii. p . 
  p    i ii ii   i 
㯪 (p '離). p ⮩,  p ⠭i i. 
H 㭪i ᫥ 室 p (NIM a b c),  a, b, c - 
ii ii  窠. 㭪i  p  (x.y),
 x - p 窨,  类 p, y - ii  ii.

'燐 4: ﭥ 稭 Z = a XOR b XOR c.  Z <> 0,   
 p ⠪ p, 鮡 Z = 0. i 쮣    室 'p,
i  室 祭 Z i i  㤥 pi 0.   室 ⠪,
鮡 Z = 0. i쪨 p譮 i  0 0 0, ⮡ Z = 0 XOR 0 XOR 0 = 0,
 pp 쮣 p,   p.  p 讬 室i Z = 0,
 'p  p p⥣i,   i 讣 室, 'p 
p.
3 = 011	3 XOR 2 = 1, 1<3 ->  p  窨 2 i
4 = 100	4 XOR 2 = 6, 6>4 -> p  
5 = 101 5 XOR 2 = 7, 7>5 -> p  
-XOR---
2 = 010

⦥,   i쬥 2 i  p 㯪,   1 4 5, 
Z = 1 XOR 4 XOR 5 = 001 XOR 100 XOR 101 = 0,   i p.



 1. H 㭪i (POWER x n) ᫥ iᥭ  ⥯  
 ii pi.

p p⠢ ᫠ n  i i.

(DEFUN POWER (x n)
	(SETQ *PRINT-BASE* 2)
	(SETQ a (Pw x (REVERSE (UNPACK n))))
	(SETQ *PRINT-BASE* 10)
	a  )

(DEFUN Pw (x lst)
	((NULL lst) 1)
	((EQL (CAR lst) \1) (* x (Pw (* x x) (CDR lst))))
	(Pw (* x x) (CDR lst))  )


 2.  浪  ⠭ ii ⠡ ࠫ쭨
ᥫ [1] <...< A[N].   ࠫ쭥 ᫮, 瘟  ।⠢
 i 㬨 直 ᥫ i ⠡i. 㬠  ᪫ i  
;   ⠡i  室      ࠧ.
ᮢ i p - O(N).

   ⠡i   2^N   , ॢiઠ 直   N
 㦥  . 
   A[1] > 1,  1 㤥 ii. I pﭥ  
S[k] = A[1] + A[2] + ... + A[k].
  ਯ⨬,   类 k i ᫠ i 1  S[k] ࠦ  i
㬨 i . H堩 ii쭥 ᫮, 瘟  ࠦ १  
i ⨭ ⠡i A, pi S[k]+1.
   k < N  A[k+1] > S[k]+1,  S[k]+1  ࠧ i  i
㬨,   室 A[k+1]  㯭i  ⠡i.  쮬 
S[k]+1 㤥 ii쭨 ᫮, 瘟  ࠦ  i 㬨 直
i ⠡i .
  I,   k < N: A[k+1] <= S[k]+1, i ᫠ i 1  
S[k+1] = S[k] + A[k+1]  ।⠢  pi i, i쪨
i쭥 ᫮  ⠪,  A[k+1] < B < S[k+1],  ।⠢  i
B = A[k+1]+C,    < S[k+1]-A[k+1] = S[k],   p饭 C 
।⠢  i 㬨 直 i ⠡i   ᠬ i 1  k.

(DEFUN INCSUM (n lst)
        ((NULL lst) n)
        ((< n (CAR lst)) n)
        (INCSUM (+ n (CAR lst)) (CDR lst))  )

: (INCSUM 1 '(1 2 4 6 88)). ᫮ n    1.


 3. 客  㯨   pi訢 p ⥫䮭i p ᢮
童. 䮭i   㯭 :
				1 2 3
				4 5 6
				7 8 9
				  0
ii p  ⥫䮭 pi  㢠 i 室 .
Hp, i p 2   7  9,  i p 6 - p 1, 7  0.

 ii ⥫. pi i 稭  p N   , 
i,   ⥫䮭 pi pi k.
H 㭪i (TELEPHONE_HORSE k N).

 p i  㭪i,   p订i  㯭 i:
				1   7
				2   6
				3 4 5
				  8
				9   0

(DEFUN TELHORSE (k num)
  ((ZEROP k) 1)
  ((EQL num 1) (+ (TELHORSE (- k 1) 6) (TELHORSE (- k 1) 8)))
  ((EQL num 2) (+ (TELHORSE (- k 1) 7) (TELHORSE (- k 1) 9)))
  ((EQL num 3) (+ (TELHORSE (- k 1) 4) (TELHORSE (- k 1) 8)))
  ((EQL num 4) (+ (TELHORSE (- k 1) 3) (TELHORSE (- k 1) 9) (TELHORSE (- k 1) 0)))
  ((EQL num 5) 0)
  ((EQL num 6) (+ (TELHORSE (- k 1) 1) (TELHORSE (- k 1) 7) (TELHORSE (- k 1) 0)))
  ((EQL num 7) (+ (TELHORSE (- k 1) 2) (TELHORSE (- k 1) 9)))
  ((EQL num 8) (+ (TELHORSE (- k 1) 7) (TELHORSE (- k 1) 9)))
  ((EQL num 9) (+ (TELHORSE (- k 1) 2) (TELHORSE (- k 1) 4)))
  ((EQL num 0) (+ (TELHORSE (- k 1) 4) (TELHORSE (- k 1) 6)))
)



I⨢i 㭪i.

  H堩 M - 猪 . 㭪i f, 㬥⠬ 类  ii
i  M,  祭ﬨ -  类  N, 
i⨢,   祭  ii x[1]..x[n]   
  祭  ii  x[1]..x[n-1]   x[n],  ⮡ 
i 㭪i F  N*M (  <n,m>,  n -   N, 
 m -   M)  N,  类
      f(<x[1],...,x[n]>) = F (f (<x[1],...,x[n-1]>), x[n]).

奬 ⬠ ᫥ i⨢ 㭪i:

  k := 0; f := f0;
  {ii: f - 祭 㭪i  <x[1],...,x[k]>}
  while  k<> n do begin
  | k := k + 1;
  | f := F (f, x[k]);
  end;

   f0 - 祭 㭪i  pi ii
(ii  0).  㭪i f 祭    pi
i,  訩 p冷 i  
k := 1; f := f (<x[1]>);

p i⨢ 㭪i :

1. f(A) = 㬠 ᥫ  A.
   F(x,y) = x + y;

(DEFUN SUMMA (lst)
	((ATOM (CDR lst)) (CAR lst))
	(SUMMA (CONS (+ (CAR lst) (CADR lst)) (CDDR lst)))  )


2. f(A) = ii쭥 (ᨬ쭥) ᫮  A
   F(x,y) = min(x,y)  max(x,y)

(DEFUN lmin (lst)
       ((ATOM (CDR lst)) (CAR lst))
       ((< (CAR lst) (CADR lst)) (lmin (CONS (CAR lst) (CDDR lst))))
       (lmin (CDR lst))  )


3. g(A,B) - ᪠p ⮪ pi A  B,  直 p⠢i
    A  B. 㭪i f(C),    = {a1*b1, a2*b2,...,aN*bN}, 
   i⨢. 
   F(x,y) = x + y

(DEFUN SCALAR (lst1 lst2)
	((NULL lst1) 0)
	(+ (* (CAR lst1) (CAR lst2)) (SCALAR (CDR lst1) (CDR lst2)))  )



 1.  i ii x[1]..x[n]  y[1]..y[k] i ᥫ. 
,   p㣠 ii iii , ⮡  
  p᫨ i 童 ⠪, 鮡 訫 p㣠. ᮢ i
(n+k).

(DEFUN PIDPOSLID (lst1 lst2)
        ((NULL lst2))
        ((NULL lst1) (NULL lst2))
        ((= (CAR lst1) (CAR lst2)) (PIDPOSLID (CDR lst1) (CDR lst2)))
        (PIDPOSLID (CDR lst1) lst2)  )

 p⠫ ,   x[n1] = y[k1]  y[1]..y[k1] - iii 
x[1]..x[n1],  y[1]..y[k1-1] - iii x[1]..x[n1-1].


 2.  i ii x[1]..x[n]  y[1]..y[k]
i ᥫ.  ᨬ  ii, 猪 
iii  i⥩. ᮢ i - O(n*k).

'燐. 稬 १ f(n1,k1) ᨬ  쭮
iii i⥩ x[1]..x[n1]  y[1]..y[k1]. i
   x[n1] <> y[k1] => f(n1,k1) = max (f(n1,k1-1), f(n1-1,k1));
   x[n1] = y[k1]  => f(n1,k1) = max (f(n1,k1-1), f(n1-1,k1),
                              f(n1-1,k1-1)+1 );
i쪨 f(n1-1,k1-1)+1 >= f(n1,k1-1),  p㣮  ᨬ  ᥫ
 i   i .

(DEFUN lp (lst1 lst2)
	((OR (NULL lst1) (NULL lst2)) 0)
	((/= (CAR lst1) (CAR lst2)) (MAX (lp lst1 (CDR lst2)) (lp (CDR lst1) lst2)))
	(+ 1 (lp (CDR lst1) (CDR lst2)))  )



㭪i 

㭪i  । १  筨 ⮪  
(COS - Current Output Stream).

1. (PRIN1 <obj>). । ᨬ쭥 ।⠢ '  COS i  
   '. 㭪i  ᨬ ⮢  P-i.  i㢠 
   i  筮 ⥬ ᫥. i *PRINT-POINT* ஫ 
   ᨬ ii ⪮   ࠦ  ࠭i ᯫ.

2. (PRINC <obj>).   i PRIN1,  P-i   ஫쭨 
   ᨬ. 祭 ஫쭮 i *PRINT-ESCAPE*   PRINC 
    i T.
   
  (DEFUN PRINC (obj *PRINT-ESCAPE*)
  (SETQ *PRINT-ESCAPE* T)
  (PRIN1 obj) )

3. (WRITE-BYTE n).  n - i ᫮ i 0  255,  㭪i   
   COS ᨬ, ASCII- 类 i n, i  n.

4. (TERPRI n).  n - i'󬭥 i ᫮,   COS । n ᨬi 
   ASCII  浪.  㭪i   㬥i, n  
   i 1.  㭪i  NIL.

(DEFUN TERPRI (n)
((AND (INTEGERP n) (>= n 0))
(LOOP
    ((ZEROP n) NIL)
    (WRITE-BYTE 13)
    (WRITE-BYTE 10)
    (DECQ n)  )  )

5. (PRINT <obj>)   ࠧi  ⮢㢠 㭪i PRINT. 
      㬥.   楩 㬥 ,  i 
     祭. ।  㬥 i㢠 i  
    冷,  i  㬥  ஬i. 祭 
   㭪i  祭 㬥. 筨 䥪⮬ 㭪i PRINT   
   󬮣 祭. 㭪i PRINT   ⠪:

(DEFUN PRINT (x)
(TERPRI) (PRIN1 x) (PRINC " ")   )

6. (SPACES n). । n ஦i ASCII - ᨬi (஬ii)  COS. 
    ii । ᨬi i ⮣  㤥 । ⠭i 
    冷.

7. (FRESH-LINE).   室   浪, 㭪i   
   NIL. I  ।  COS  冷 i  .

8. (WRITE-STRING <ᨬ>), (WRITE-LINE <ᨬ>).  COS  P-i' 
   ᨬ.  㬥   ᨬ, i 㭪i  NIL. 
   㭪i WRITE-LINE i  ᨬ  COS ⮬筮  i 
     冷  (TERPRI).

9. (SET-CURSOR <冷> <). ⮢ ०  iᯠ  ஧i 80*25. 
    㭪i ⠭   ii i.

10. (ROW), (COLUMN). ii  筨 冷 (⮢稪) 筮 
     .

11. (CLEAR-SCREEN).  ࠭, ⠭   (0, 0)   T.



㢠 '

i筥 ⮬筥 㢠 '   ii ॢ 
i muLisp.  ii ᭮筮 ணࠬi ஧i 
' i , 猪 㤥 㢠. ', 猪  㤥 
⮢㢠 ணࠬ, 㯭  ⢮७   . 

 iiiii muLisp  ஧i 㯭 'i, 猪 i 
஧  4 i:

-  ⮬i (64), 猪  '  4 i-ii, 
  i   ᨬ  ᫠.

-  i (128), 猪  '   i PRINT-ii 
  ᨬ (64)  ᫮ i   ᫠ (64).

-  ii (256), 猪  ' i 2 -i,
  ii   cons-  i D-, i  祭 㭪i.
  i쪨 cons  ᭮   i,  ii  
  i । i.

-  ⥪ (64), 猪  '  ஫쭮 ⥪  
  i ⥪. i  ⥪ ஧订i  ⨫ i i 
  ⥪i.

 稭  ஡ i muLisp i 512  ' i DOS.



i i

MuLisp    i   ॣ鸞 (i⪠  ⪠). 
i  讣 ॣ 'i i i ⨢i ' , 
  直  i 祯   i-
ii, 稭  i ᯨ 祭  ⨢⥩ i 
ᨬi ⥬,  i ⥪ i,  D-.   ⮬筨 
ᨫ, i   ⨢⥩  筨 祭 㭪i,  
i. i ᨬ ⮬筮  i ᯨ i  㣮 
ॣ.

 i 㣮 ॣ  i i i祭i '  
i      ii ii i .  
 ॣ 誨 ⥩   ⢮७  'i.



஧i ⥩ 

i ࠭ i i  i쪮   ⥩   
ࠪ㢠 i쭮 'i  ⮣, 鮡 ணࠬ   த 
,   ,  ii i    ii 
i쭮 'i.   ⠪ i,  i ஧i 
⥩  宬 i ⥩,  'i, 类  , 
i  i쪮 .    ஧i   i 
, i 㢠 ,   ਬ.

⦥, muLISP  ॠ㢠  i  ணࠬ  ஧i ⥩ .

 i i  ஧i ⥩  i㢠 ⮬筮,
   室 i⭮  㢠, i쪨   
   ஡i ணࠬ.

筠 㬠   ࠭ i  ஧i  i i쪮i 
  ⥬i. i i 砩   ᥪ㭤. 筮 ⠪ , 
 ᥪ㭤 砩 i㢠  ஧i ⥩ .  
i᭮i,    㢠 㢠,   ஧஡i ⥬ 
ॠ쭮 ,  ⮢ muLISP,  ⠭ i ஧鸞.

, i  "thrashing"   ⮬ ࠧi,  ⥬ 襭 
 ।祭 ii   i i  㦥 쪮 
୥ i .  "thrashing"  筥 ⠭  
  i.  ஡   i襭 宬 i襭 
஧i 'i  ( 512) i () 䨪i ணࠬ   襭 
   'i.



 ਢ     

 ਢ muLISP  ॣ쭨 ਢ  
ॣ쭨 ਬ .  ਢ ,  i 
i  ਢ     ࠭ ᯫ  
i  i i:

Continue, Break, Abort, Top-level, Restart, System?
i ⥬ i,  㢠    i 宬  
 ii (,,,,R  S ii).

i稬,  i 客i  浪 ᨫ  i.
- Continue (த):  㢠 ணࠬi,   
  ਢ.  稭 ਢ 㫠  ਢ, ᫠ 
   i,   த, i ਢ  㫮.

 ਢ i㫮  १i ਬ , 稭, ।
 ਢi ॣ쭨 ,   祭  㭪i;

- Break (㯨): ⨬ᮢ ਧ㯨  ணࠬ  室  㯭
  i i 横 "read-eval-print" ("⠭-᫥-").   
  㢠祢i ॢi  (i) i 筥 । muLISP । 
  த  ணࠬ.  室  㯨  i ஡ 
  ணࠬ i ( RETURN ) i  ;

- Abort (ਢ):  ਢ  ணࠬ, ᢮ ଠ쭨 
  ࠬࠬ, ஧i饭  ⥪ i, ⪮i 祭   
  㢠  筨 i 横 "read-eval-print". 祭 㭪i, 
  祭 ⨢⥩  쭨 i  i;

- op-level  (i i): ਢ  ணࠬ, ᢮ 
  ⪮i 祭 ଠ쭨 ࠬࠬ, ஧订  ⥪  i, 
  i  ᮫ i ii  ii i (CIS  COS)   
  㢠 쮬 ii 横 "read-eval-print". 祭 㭪i, 
  祭 ⨢⥩  쭨 i  i;

- Restart (୨ ): ਢ i ii  䠩, i i 
  筮 । muLISP  iii  ⥬ muLISP. i '離 i 
  i, 㭪i  祭 ⨢⥩  筮 ।i muLISP 
  㩭;

-  Sstem (⥬): ਢ i ii 䠩,   muLISP 
    㢠 ii .



⥬ ਢ  ᮫i

 -直   室i  ணࠬ iii 㢠祬 ⥬ 
ਢ  ᮫i  㯨  ணࠬ  ୥ 㢠  
᮫.

ਢ  ᮫i iii 宬 ᭥ ii <ESC>   
ii ᮫i.   ii  ii <ESC>,  ᨬ 
ਢ   '஢ 宬 ᭥ ii i 㦪 ([) 
 ᭨ ᭥ ii <CTRL>.

  i ⠪  室,  ᨬ  i ਢ  ᮫i  
 i 宬 ii Default Readtable ᭮ i muLISP.

 i ਢ  ᮫i  ࠭i ᮫i i 
i:
     Console Interrupt Break: NIL
   㯭 浪 ' i  i i ਢ. 
㢠  i i,  த ஡.
  直 稭  iii  ਢ  i,  
i᭨ ਢ  ⥬i 宬 ४祭  (   
).



i  

  ஧ii ਢ i    ⥬i muLISP, 
⠪ i,    ஧臘i 㢠  i .
 muLISP   ⠭,  㭪i BREAK. BREAK  
ii i  , ਧ㯨  ணࠬ  
 㢠祢i i த ஡  i.

  䠢i⭮ 浪  i   muLISP:

- DISK FULL ( ) : ,  'i  ஧i饭 , 
  ᠭ  ᪮  䠩i, ࠪ.  ணࠬ ਯ,  
    ਢ  . i쪨 䠩  i⨬,  
  i   ii 䠩  i ᪥i (  㭪i 
  EXETUTE )  த   䠩;

- END-OF-FILE (i 䠩): ,  i᭥ ஡  i  
   i i 䠩 ( CIF )    ஦i i.
  iࠧ  i "end-of-file" i i' CIF  i ᯨ
  ⨯: "drive:name.type";

- FILE NOT FOUND (䠩  ) : ,  i  () SYS-䠩, 
     ,  iii muLISP,  ,  SYS-䠩 
  i୮ i. SYS-䠩   ⠦ i쪨 i 㢠 i 
  i muLISP,  ⮢  i 䠩.

  ii  SYS-䠩, i ⮣,    ⠦i  muLISP  
  ⠭  RDS  LOAD ii.      
  ,  䠩  , i i "file not found" 
     NIL;

- INSUFFICIENT  ARGUMENTS (ࠪ 㬥i) : ,  㭪i, 猪 
  ॡ 鮭  㬥,   㬥i. 㭪iﬨ, 
  i   楩 ⨯ , :  MAX, MIN, -, /, ADD1, SUB1, LCM, 
  ABS, SIGNUM, NUMERATOR, DENOMINATOR, FLOOR,  CEILING, TRUNCATE, ROUND, MJD, 
  REM, DIVIDE, LOGNOT, BITLENGTH  SHIFT;

- INSUFFICIENT MEMORY, ABORTING (ࠪ 'i, ਢ): ,   
  i  'i  ⠦  㭪i㢠 ।  muLISP. 
   muLISP ਧ㯨, 㢠   i .
  
  i稬,  । muLISP,  i  SYS-䠩i,    
  ⠦  ,   訩 ' 'i, i ,  i   
  । 㫮 ⢮७.   ࠪ 'i  i쪨 ⮤i, 
   ,  i SYS-䠩  ⠦,  i i '󬮬 
  'i   ஧i饭 । muLISP. 򤨭  ⠦ 
  SYS-䠩i -  ਬ i讣 ' 'i  .

- MEMORY FULL (' ) : ,  'i  த 
   ணࠬ muLISP  .  ணࠬ ਧ㯨, 
   ਢ  .

i᭮,  ⥬ 㢠 '   ii 'i 
      ॡ ணࠬ muLISP.  
ॡ  'i 'i  ஧i饭 'i  ॢ i i 
,   .   i   i 
⨪  㯭i i:

GC:   nnnn   aaaa/aaaa  vvvv/vvvv  pppp/pppp  ssss/ssss tttt/tttt

i⭠⪮i ,    "GC:",  ஧i 'i,  
騫  i  ᭮ 4- ⥩ . ⦥,   祭 
 , '易  ;

- NONINTEGER ARGUMENT (i 㬥) : ,  㭪i, 猪 ॡ 
  ii 㬥,   i 㬥⮬. 㭪i,  直   
   i, : LOGAND, LOGIOR, LOGXOR, LOGNOT, SHIFT  BITLENGTH;

- NONINTEGER ARGUMENT (᫮ 㬥) : ,  㭪i, 猪 
  ॡ ᫮i 㬥,   ᫮ 㬥⮬.   
     㯭 㭪i: =, /=, <, >, <=, >=, MAX, MIN, +, -, *,
    /,  ADD1,  SUB1, INCQ, DECQ, GCD, LCM, ABC, SIGNUM, NUMERATOR, DENOMINATOR,
  FLOOR, CEILING, TRUNCATE, ROUND, MOD, REM  DIVIDE;

- NONSYMBOLIC ARGUMNT (ᨬ쭨 㬥) :  ,  㭪i, 猪 
  ॡ ᨬi 㬥,   ᨬ쭨 㬥⮬.  ⠪ 
  㭪i i:  SET,  SETQ, PSETQ, POP, PUSH, INCQ  DECQ;

- SYNTAX  ERROR (ᨭ⠪筠 ) : ,  㭪i READ i  
  i ࠢi 㦪,  i  窮 ࠦi, ਪ, (A.) 
   (AB.CD). i쪨 ਢ     ᮬ 
  ࠢ 㦮  ,    i 㢠祬-
  ஥㢠쭨;

- UNDEFINED FUNCTION (祭 㭪i) :  ,  i᭥ ஡ 
  ⠭ ᨬ,    祭 㭪i. 쭨 iﬨ  
  i i  : i i BREAK, 祭 祭 ᨬ  
  த i ணࠬ   : ( RETURN ( EVAL BREAK ))

- ZERO DIVIDE (i  0) : ,  㫠  㭪i i  
  쮢 i쭨.   㭪iﬨ  : /, FLOOR, CEILING, 
  TRUNCATE, ROUND, MOD, REM  DIVIDE.
