Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (fast-power-mod x y m)
- (if (empty? y)
- one
- (let ([y-minus (decrement y)])
- (if (empty? y-minus)
- x
- (if (is-even y)
- (let ([half-y (half y)])
- (let ([pow-x (fast-power-mod x half-y m)])
- (multiply-mod pow-x pow-x m)))
- (let ([half-y (half y-minus)])
- (let ([pow-x (fast-power-mod x half-y m)])
- (multiply-mod x (multiply-mod pow-x pow-x m) m))))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement