Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
11
Task/Modular-inverse/Raku/modular-inverse.raku
Normal file
11
Task/Modular-inverse/Raku/modular-inverse.raku
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
sub inverse($n, :$modulo) {
|
||||
my ($c, $d, $uc, $vc, $ud, $vd) = ($n % $modulo, $modulo, 1, 0, 0, 1);
|
||||
my $q;
|
||||
while $c != 0 {
|
||||
($q, $c, $d) = ($d div $c, $d % $c, $c);
|
||||
($uc, $vc, $ud, $vd) = ($ud - $q*$uc, $vd - $q*$vc, $uc, $vc);
|
||||
}
|
||||
return $ud % $modulo;
|
||||
}
|
||||
|
||||
say inverse 42, :modulo(2017)
|
||||
Loading…
Add table
Add a link
Reference in a new issue