快速幂----递归

文章目录

这是打卡的第15天,由于某些原因我旷了3天今天先完成今天的任务,会抽时间补上的,主要的讲解知识点在

《算法零基础100讲》(第15讲)二分查找快速幂

概况
三种情况:
快速幂----递归_第1张图片
源码解析:
3种情况

#define ll long long
ll f(ll a, ll b, ll c) {
     
    if (b == 0)
        return 1 % c;           
    ll v = f(a*a % c, b/2, c);  
    if (b % 2)
        v = v * a % c;          
    return v;
}

刷题巩固:
pow(x,n)力扣

class digui
{
     
public:
	double quickMul(double x, long long n)
	{
     
		if (n == 0)
		{
     
			return 1.0;
		}
		double y = quickMul(x, n / 2);
		return n % 2 == 0 ? y * y : y * y*x;
	}
	double myPow(double x, int n)
	{
     
		long long N = n;
		return n >= 0 ? quickMul(x, n) : 1;
	}
};

你可能感兴趣的:(算法0基础,算法)