And small cleanups in the code
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
((* P (Puissance1 P (- N 1))))))
(println "Puissance1")
(println (Puissance1 5 5))
((* P (Puissance1 P (- N 1))))))
(println "Puissance1")
(println (Puissance1 5 5))
+(println (Puissance1 2 12))
;(trace true)
;O(log N)
(define (Puissance2 P N)
(cond
;(trace true)
;O(log N)
(define (Puissance2 P N)
(cond
+ ((= N 2) (* P P))
+ ((> N 2)
(cond
((= (mod N 2) 0) (Puissance2 (Puissance2 P 2) (/ N 2)))
(cond
((= (mod N 2) 0) (Puissance2 (Puissance2 P 2) (/ N 2)))
- ((* P (Puissance2 (Puissance2 P 2) (/ (- 1 N) 2))))))))
+ ((* P (Puissance2 (Puissance2 P 2) (/ (- N 1) 2))))))))
-;(println (Puissance2 5 5))
+(println (Puissance2 5 5))
+(println (Puissance2 2 12))
;(trace true)
; https://fr.wikipedia.org/wiki/Coefficient_binomial
;(trace true)
; https://fr.wikipedia.org/wiki/Coefficient_binomial
+; relation de pascal commenté
(define (comb N P)
(cond
((= P 0) 1)
((= N P) 1)
(define (comb N P)
(cond
((= P 0) 1)
((= N P) 1)
- ((+ (comb (- N 1) P) (comb (- N 1) (- P 1))))))
+ ;((+ (comb (- N 1) P) (comb (- N 1) (- P 1))))))
+ ((/ (* N (comb (- N 1) (- P 1))) P))))
(println "comb")
(println (comb 5 4))
(println (comb 60 4))
(println "comb")
(println (comb 5 4))
(println (comb 60 4))
+(println "(comb 12 8) = "(comb 12 8))
((append
;the pivot is the first element of the list
(qsort (list< (first L) (rest L)))
((append
;the pivot is the first element of the list
(qsort (list< (first L) (rest L)))
(qsort (list>= (first L) (rest L)))))))
(println "qsort")
(println (qsort C))
(qsort (list>= (first L) (rest L)))))))
(println "qsort")
(println (qsort C))