C#实现快速幂算法
快速幂算法是一种计算指数幂的高效算法,它通过将指数用二进制表示,进行位运算来减少计算次数。下面我们将介绍如何使用C#语言实现快速幂算法,并提供完整的源代码。
快速幂算法的核心代码如下所示:
public static int FastPower(int a, int b, int m)
{
int ans = 1 % m;
a %= m;
while (b > 0)
{
if ((b & 1) == 1)
ans = (ans * a) % m;
a = (a * a) % m;
b >>= 1;
}
return ans;
}
上述代码中,我们使用了一个while循环,每次将指数b右移一位。当b的二进制表示中某一位为1时,就将当前答案ans乘以底数a的相应幂次方,同时取模以防止数据溢出;否则不做任何处理,继续执行循环。最后返回答案即可。
下面是完整的快速幂算法实现代码:
using System;
namespace FastPower
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入底数a、指数b和模数m:");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Consol