Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.38 KB | None | 0 0
  1. q = e div 2
  2. r = e mod 2
  3. then e = 2q+r, and r could be 0 or 1.
  4.  
  5. If r=0:
  6.  
  7. b^e = (b^q)^2
  8.  
  9. If r=1:
  10.  
  11. b^e = (b^q)^2 * b
  12.  
  13. base case: b^0 = 1.
  14.  
  15. q = 2/2 = 1
  16. r = 2mod2 = 0
  17.  
  18. r=0, therefore 2^2 = 2^1^2
  19.  
  20. pow :: Integer -> Integer -> Integer
  21. pow b e
  22. | e == 0 = 1
  23. | r == 0 = pow (pow b q) 2
  24. | r == 1 = pow (pow b q) 2 * b
  25. where
  26. (q, r) = divMod e 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement