Geekpedia Programming Tutorials






Extended Euclidean Algorithm Function

A function for finding the modular multiplicative inverse, based on an extended version of the Euclidean algorithm.

On Friday, October 3rd 2008 at 09:12 AM
By Andrew Pociu (View Profile)
-----   (Rated 0 with 0 votes)
Contextual Ads
More Ruby Resources
Advertisement
  1. def EGCD(b,m,recLevel=0)
  2.   if b % m == 0
  3.           tmpVal = [0,1]
  4.           return tmpVal
  5.   else
  6.           tmpVal = EGCD(m, b % m, recLevel+1)
  7.           tmpVal2 = [tmpVal[1], tmpVal[0]-tmpVal[1] * ((b/m).to_i)]
  8.           if recLevel == 0
  9.                 return tmpVal2[0] % m
  10.           else
  11.                 return tmpVal2
  12.           end
  13.   end
  14. end
Digg Digg It!     Del.icio.us Del.icio.us     Reddit Reddit     StumbleUpon StumbleIt     Newsvine Newsvine     Furl Furl     BlinkList BlinkList

Rate Rate this code snippet
Comment Current Comments
There are no comments.

Comment Comment on this tutorial
Name: Email:
Message:
Comment Related Source Code
There is no related code.

Comment Related Tutorials
There are no related tutorials.

Jobs Ruby Job Search
My skills include:

Enter a City:

Select a State:


Advanced Search >>
Latest Tech Bargains

Advertisement

Free Magazine Subscriptions

Today's Pictures

Today's Video

Other Resources

Latest Download

Latest Icons