Advertisement
Guest User

Untitled

a guest
Oct 8th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.50 KB | None | 0 0
  1. (define (fast-power-mod x y m)
  2.   (if (empty? y)
  3.       one
  4.       (let ([y-minus (decrement y)])
  5.         (if (empty? y-minus)
  6.             x
  7.             (if (is-even y)
  8.                 (let ([half-y (half y)])
  9.                   (let ([pow-x (fast-power-mod x half-y m)])
  10.                     (multiply-mod pow-x pow-x m)))
  11.                 (let ([half-y (half y-minus)])
  12.                   (let ([pow-x (fast-power-mod x half-y m)])
  13.                     (multiply-mod x (multiply-mod pow-x pow-x m) m))))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement