【力扣·每日一题】372. 超级次方(欧拉降幂 快速幂)

简介: 【力扣·每日一题】372. 超级次方(欧拉降幂 快速幂)

linkk

题意:

20200401134307494.png

20200401134307494.png

思路:

欧拉降幂公式为:

abmodp=abmodphi(p)modp

其中p为质数,p h i ( p )为p的欧拉函数

由于题目里给出的p是固定的1337,所以其欧拉函数值为1140,可以求出b m o d    p h i ( p ) b的值。

再用快速幂求剩下的值就可以了

代码:

class Solution {
public:
    long long ksm(long long a,long long b,long long p){
        long long res=1;
        while(b){
            if(b&1) res=res*a%p;
            a=a*a%p;
            b=b/2;
        }
        return res;
    }
    int superPow(int a, vector<int>& b) {
        long long c=1140;
        long long sum=0;
        for(int i=0;i<b.size();i++){
            sum=(sum*10+b[i])%c;
        }
        return ksm(a,sum,1337);
    }
};
目录
相关文章
|
6月前
|
存储
LeetCode热题 首题 两数之和
LeetCode热题 首题 两数之和
39 1
|
6月前
D - 11(逆元好题)
D - 11(逆元好题)
|
6月前
|
机器学习/深度学习 算法 索引
leetcode热题100.两数之和
leetcode热题100.两数之和
36 1
|
机器学习/深度学习
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
72 0
|
算法
《蓝桥杯每日一题》二分·AcWing 1460. 我在哪?
《蓝桥杯每日一题》二分·AcWing 1460. 我在哪?
55 0
《蓝桥杯每日一题》递推·AcWing 3777. 砖块
《蓝桥杯每日一题》递推·AcWing 3777. 砖块
79 0
《蓝桥杯每日一题》trie树·143. 最大异或对
《蓝桥杯每日一题》trie树·143. 最大异或对
60 0
【蓝桥杯集训·每日一题】AcWing 3625. 幂次方
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 快速幂
66 0
【蓝桥杯集训·每日一题】AcWing 3792. 质数问题
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 筛质数 埃氏筛法 线性筛法
95 0
|
C++
【寒假每日一题】AcWing 4728. 乘方
目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
148 0