Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,25 @@
|
|||
;; this exponentiation function handles integer, rational or float x.
|
||||
;; n is a positive or negative integer.
|
||||
|
||||
(define (** x n) (cond
|
||||
((zero? n) 1)
|
||||
((< n 0) (/ (** x (- n)))) ;; x**-n = 1 / x**n
|
||||
((= n 1) x)
|
||||
((= n 0) 1)
|
||||
((odd? n) (* x (** x (1- n)))) ;; x**(2p+1) = x * x**2p
|
||||
(else (let ((m (** x (/ n 2)))) (* m m))))) ;; x**2p = (x**p) * (x**p)
|
||||
|
||||
(** 3 0) → 1
|
||||
(** 3 4) → 81
|
||||
(** 3 5) → 243
|
||||
(** 10 10) → 10000000000
|
||||
(** 1.3 10) → 13.785849184900007
|
||||
|
||||
(** -3 5) → -243
|
||||
(** 3 -4) → 1/81
|
||||
(** 3.7 -4) → 0.005335720890574502
|
||||
(** 2/3 7) → 128/2187
|
||||
|
||||
(lib 'bigint)
|
||||
(** 666 42) →
|
||||
38540524895511613165266748863173814985473295063157418576769816295283207864908351682948692085553606681763707358759878656
|
||||
Loading…
Add table
Add a link
Reference in a new issue