使用 C# 语言进行模 m 幂的计算:

namespace Skyiv.Utils
{
  public static class ModPowExtensions
  {
    public static int ModPow(this int a, int b, int m)
    {
      long v = 1;
      for (long c = a; b != 0; b >>= 1, c = c * c % m)
        if ((b & 1) != 0) v = v * c % m;
      return (int)v;
    }
  }
}

参考资料

  1. 图灵社区:读书:幂的计算