zl程序教程

您现在的位置是:首页 >  Java

当前栏目

快速幂----递归

2023-02-18 16:26:26 时间

文章目录

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

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

一 概况 三种情况:

源码解析: 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;
	}
};