Sync
This commit is contained in:
parent
6f050a029e
commit
776bba907c
3887 changed files with 59894 additions and 7280 deletions
16
Task/Modular-inverse/Icon/modular-inverse-1.icon
Normal file
16
Task/Modular-inverse/Icon/modular-inverse-1.icon
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
procedure main(args)
|
||||
a := integer(args[1]) | 42
|
||||
b := integer(args[2]) | 2017
|
||||
write(mul_inv(a,b))
|
||||
end
|
||||
|
||||
procedure mul_inv(a,b)
|
||||
if b == 1 then return 1
|
||||
(b0 := b, x0 := 0, x1 := 1)
|
||||
while a > 1 do {
|
||||
q := a/b
|
||||
(t := b, b := a%b, a := t)
|
||||
(t := x0, x0 := x1-q*x0, x1 := t)
|
||||
}
|
||||
return if (x1 > 0) then x1 else x1+b0
|
||||
end
|
||||
19
Task/Modular-inverse/Icon/modular-inverse-2.icon
Normal file
19
Task/Modular-inverse/Icon/modular-inverse-2.icon
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
link numbers
|
||||
|
||||
procedure main(args)
|
||||
a := integer(args[1]) | 42
|
||||
b := integer(args[2]) | 2017
|
||||
write(mul_inv(a,b))
|
||||
end
|
||||
|
||||
procedure mul_inv(a,b)
|
||||
if b == 1 then return 1
|
||||
if gcd(a,b) ~= 1 then return "not coprime"
|
||||
(b0 := b, x0 := 0, x1 := 1)
|
||||
while a > 1 do {
|
||||
q := a/b
|
||||
(t := b, b := a%b, a := t)
|
||||
(t := x0, x0 := x1-q*x0, x1 := t)
|
||||
}
|
||||
return if (x1 > 0) then x1 else x1+b0
|
||||
end
|
||||
1
Task/Modular-inverse/PARI-GP/modular-inverse.pari
Normal file
1
Task/Modular-inverse/PARI-GP/modular-inverse.pari
Normal file
|
|
@ -0,0 +1 @@
|
|||
Mod(1/42,2017)
|
||||
Loading…
Add table
Add a link
Reference in a new issue