You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

19 lines
501 B
Racket

3 years ago
#! /usr/bin/racket
#lang racket/base
4 years ago
(define (sqr n)
(* n n))
(define (fast-ext-iter number power product)
(cond ((= power 0) product)
4 years ago
((even? power) (fast-ext-iter (sqr number)
4 years ago
(/ power 2)
4 years ago
product))
4 years ago
(else (fast-ext-iter number
(- power 1)
4 years ago
(* number product)))))
4 years ago
(define (fast-ext number power)
(fast-ext-iter number power 1))
4 years ago
(fast-ext 2 5)