Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,15 @@
|
|||
modPow :: Integer -> Integer -> Integer -> Integer -> Integer
|
||||
modPow b e 1 r = 0
|
||||
modPow b 0 m r = r
|
||||
modPow b e m r
|
||||
| e `mod` 2 == 1 = modPow b' e' m (r * b `mod` m)
|
||||
| otherwise = modPow b' e' m r
|
||||
where
|
||||
b' = b * b `mod` m
|
||||
e' = e `div` 2
|
||||
|
||||
main = do
|
||||
print (modPow 2988348162058574136915891421498819466320163312926952423791023078876139
|
||||
2351399303373464486466122544523690094744975233415544072992656881240319
|
||||
(10 ^ 40)
|
||||
1)
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
powerMod :: Integer -> Integer -> Integer -> Integer
|
||||
powerMod b e m = x
|
||||
where
|
||||
(_, _, x) =
|
||||
until
|
||||
(\(_, e, _) -> e <= 0)
|
||||
(\(b, e, x) ->
|
||||
( mod (b * b) m
|
||||
, div e 2
|
||||
, if 0 /= mod e 2
|
||||
then mod (b * x) m
|
||||
else x))
|
||||
(b, e, 1)
|
||||
|
||||
main :: IO ()
|
||||
main =
|
||||
print $
|
||||
powerMod
|
||||
2988348162058574136915891421498819466320163312926952423791023078876139
|
||||
2351399303373464486466122544523690094744975233415544072992656881240319
|
||||
(10 ^ 40)
|
||||
Loading…
Add table
Add a link
Reference in a new issue