September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
|
|
@ -0,0 +1,38 @@
|
|||
Module Module1
|
||||
|
||||
Function ModularMultiplicativeInverse(a As Integer, m As Integer) As Integer
|
||||
Dim b = a Mod m
|
||||
For x = 1 To m - 1
|
||||
If (b * x) Mod m = 1 Then
|
||||
Return x
|
||||
End If
|
||||
Next
|
||||
Return 1
|
||||
End Function
|
||||
|
||||
Function Solve(n As Integer(), a As Integer()) As Integer
|
||||
Dim prod = n.Aggregate(1, Function(i, j) i * j)
|
||||
Dim sm = 0
|
||||
Dim p As Integer
|
||||
For i = 0 To n.Length - 1
|
||||
p = prod / n(i)
|
||||
sm = sm + a(i) * ModularMultiplicativeInverse(p, n(i)) * p
|
||||
Next
|
||||
Return sm Mod prod
|
||||
End Function
|
||||
|
||||
Sub Main()
|
||||
Dim n = {3, 5, 7}
|
||||
Dim a = {2, 3, 2}
|
||||
|
||||
Dim result = Solve(n, a)
|
||||
|
||||
Dim counter = 0
|
||||
Dim maxCount = n.Length - 1
|
||||
While counter <= maxCount
|
||||
Console.WriteLine($"{result} = {a(counter)} (mod {n(counter)})")
|
||||
counter = counter + 1
|
||||
End While
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
Loading…
Add table
Add a link
Reference in a new issue