codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
; big modular exponentiation (define p 34534985349875439875439875349875) (define q 93475349759384754395743975349573495) (define m (+ (expt 10 9) 7)) (define (expm b e m) (define (m* x y) (modulo (* x y) m)) (cond ((zero? e) 1) ((even? e) (expm (m* b b) (/ e 2) m)) (else (m* b (expm (m* b b) (/ (- e 1) 2) m))))) (time (display (expm p q m)) (display " ")) (define (f p q m) (expm (modulo p m) (modulo q (- m 1)) m)) (time (display (f p q m)) (display " "))
Private
[
?
]
Run code
Submit