Amb: Difference between revisions

1,019 bytes added ,  1 year ago
m (→‎{{header|J}}: more compact presentation)
Line 1,095:
(defvar *c* nil)
(defvar *d* nil)
 
(ambsel '*a* '("the" "that" "a"))
(ambsel '*b* '("frog" "elephant" "thing"))
(ambsel '*c* '("walked" "treaded" "grows"))
(ambsel '*d* '("slowly" "quickly"))
 
(ambassert '(match *a* *b*))
(ambassert '(match *b* *c*))
(ambassert '(match *c* *d*))
 
(format t "~a ~a ~a ~a~%" *a* *b* *c* *d*)</pre>
 
{{out}}
<pre>that thing grows slowly</pre>
<pre>T
 
that thing grows slowly</pre>
==== 5. Magic square ====
 
''Complexity : 0(n<sup>2</sup>)''
 
<syntaxhighlight lang="lisp">(defun magic-square (a b c d e f g h i)
(and (/= a b c d e f g h i)
(= (+ a b c)
(+ d e f)
(+ g h i)
(+ a d g)
(+ b e h)
(+ c f i)
(+ a e i)
(+ c e g))))</syntaxhighlight>
 
<pre>(defvar *a* nil)
(defvar *b* nil)
(defvar *c* nil)
(defvar *d* nil)
(defvar *e* nil)
(defvar *f* nil)
(defvar *g* nil)
(defvar *h* nil)
(defvar *i* nil)
 
(ambsel '*a* '(1 2 3 4 5 6 7 8 9))
(ambsel '*b* '(1 2 3 4 5 6 7 8 9))
(ambsel '*c* '(1 2 3 4 5 6 7 8 9))
(ambsel '*d* '(1 2 3 4 5 6 7 8 9))
(ambsel '*e* '(1 2 3 4 5 6 7 8 9))
(ambsel '*f* '(1 2 3 4 5 6 7 8 9))
(ambsel '*g* '(1 2 3 4 5 6 7 8 9))
(ambsel '*h* '(1 2 3 4 5 6 7 8 9))
(ambsel '*i* '(1 2 3 4 5 6 7 8 9))
 
(ambassert '(magic-square *a* *b* *c* *d* *e* *f* *g* *h* *i*))
 
(format t "~a ~a ~a~%~a ~a ~a~%~a ~a ~a~%"
*a* *b* *c* *d* *e* *f* *g* *h* *i*)</pre>
 
{{out}}
<pre>T8 3 4
1 5 9
6 7 2</pre>
 
That's all Folks !
422

edits