How to resolve the algorithm Modular inverse step by step in the PowerShell programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Modular inverse step by step in the PowerShell programming language

Table of Contents

Problem Statement

From Wikipedia: In modular arithmetic,   the modular multiplicative inverse of an integer   a   modulo   m   is an integer   x   such that Or in other words, such that: It can be shown that such an inverse exists   if and only if   a   and   m   are coprime,   but we will ignore this for this task.

Either by implementing the algorithm, by using a dedicated library or by using a built-in function in your language,   compute the modular inverse of   42 modulo 2017.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Modular inverse step by step in the PowerShell programming language

Source code in the powershell programming language

function invmod($a,$n){
        if ([int]$n -lt 0) {$n = -$n}
        if ([int]$a -lt 0) {$a = $n - ((-$a) % $n)}

	$t = 0
	$nt = 1
	$r = $n
	$nr = $a % $n
	while ($nr -ne 0) {
		$q = [Math]::truncate($r/$nr)
		$tmp = $nt
		$nt = $t - $q*$nt
		$t = $tmp
		$tmp = $nr
		$nr = $r - $q*$nr
		$r = $tmp
	}
	if ($r -gt 1) {return -1}
	if ($t -lt 0) {$t += $n}
	return $t
}

invmod 42 2017


  

You may also check:How to resolve the algorithm Delete a file step by step in the Oz programming language
You may also check:How to resolve the algorithm Euler's constant 0.5772... step by step in the RPL programming language
You may also check:How to resolve the algorithm Plot coordinate pairs step by step in the Mathematica/Wolfram Language programming language
You may also check:How to resolve the algorithm Empty directory step by step in the NewLISP programming language
You may also check:How to resolve the algorithm String interpolation (included) step by step in the VBA programming language