ruby中增强和修改的有效方法

ruby中增强和修改的有效方法,ruby,Ruby,我需要知道3个值的幂和模的值,例如: print 1_299_709 ** 1_300_751 % 104_729 是否有任何ruby gems或更快的方法可以使用ruby来计算它?这被称为,并且在密码学中大量使用。编写模块化求幂算法相当容易,上面列出的维基百科文章中有一个演示 您可以使用标准库openssl来实现您的目标: require 'openssl' 1_299_709.to_bn.mod_exp(1_300_751, 104_729) # => 90827 由于内置了Rub

我需要知道3个值的幂和模的值,例如:

print 1_299_709 ** 1_300_751 % 104_729
是否有任何ruby gems或更快的方法可以使用ruby来计算它?

这被称为,并且在密码学中大量使用。编写模块化求幂算法相当容易,上面列出的维基百科文章中有一个演示

您可以使用标准库openssl来实现您的目标:

require 'openssl'
1_299_709.to_bn.mod_exp(1_300_751, 104_729) # => 90827

由于内置了Ruby 2.5模幂运算:

print 1_299_709.pow(1_300_751, 104_729)