【力扣·每日一题】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);
    }
};
目录
相关文章
|
8月前
|
Java
【java每日一题,数论】最大公约数,最大质因数,欧拉筛
【java每日一题,数论】最大公约数,最大质因数,欧拉筛
|
8月前
蓝桥杯:递推 例题:数字三角型问题
蓝桥杯:递推 例题:数字三角型问题
28 0
|
8天前
每日一题(珠玑妙算,两数之和)
每日一题(珠玑妙算,两数之和)
22 1
|
8天前
|
存储
每日一题啦(● ̄(エ) ̄●)(尼克切斯定理,等差数列)
每日一题啦(● ̄(エ) ̄●)(尼克切斯定理,等差数列)
10 0
|
9月前
|
存储 人工智能 测试技术
【AcWing每日一题】4644. 求和
【AcWing每日一题】4644. 求和
55 0
|
6月前
|
Python
牛客刷题之数学基础-约数
牛客刷题之数学基础-约数
25 0
|
10月前
|
机器学习/深度学习
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
48 0
【蓝桥杯集训·每日一题】AcWing 3625. 幂次方
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 快速幂
44 0
|
C++
【寒假每日一题】AcWing 4728. 乘方
目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
115 0
LeetCode每日一题(1)——最大回文数乘积
LeetCode每日一题(1)最大回文数乘积 1.题目 2.示例 3.思路 1.生成位数符合要求的递减的回文数 2.判断回文数是否符合要求 4.代码 5.复杂度分析