快速取幂实现

Hug*_*ugo 3 c# algorithm performance exponentiation

有人可以指出一个网站,我可以找到一个算法,使用C#有效地计算整数取幂到大功率?

例如.我想计算2 ^ 60000或3 ^ 12345

LBu*_*kin 13

除非这是作业,否则您可能不希望自己实现任意精度取幂.计算你描述的类型的大指数是复杂的 - 除了性能.

我建议使用现有的任意精度算术库之一,如GMP - 其中大多数都有库从C#访问它们.

F#支持使用BigInt类进行任意精度算术运算(如果导入其中的程序集,也可以从C#访问).但是,我不知道BigInt取幂是如何优化的.

如果您只是想学习有效的取幂算法,您可能需要研究Square-And-Multiply算法的取幂.