牛客-开心的涂刷——数学分析+快速幂取模问题
Posted C+++++++++++++++++++
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客-开心的涂刷——数学分析+快速幂取模问题相关的知识,希望对你有一定的参考价值。
题目
题目详解
解题代码
注意取MOD的时候的细节!
- 一旦快速幂中的底数需要取模,那就把原本的底数取模再得次方!
- 由于最后取的结果是减法,所以可能产生负数,需要加一个MOD数防止变负数而无法得到正确的MOD答案!
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = 1000000007;
ll quickPow(ll x,ll c)
ll t = x;
ll ret = 1;
while (c)
if(c&1)ret = (ret*t)%MOD;
c >>= 1;
t = (t*t)%MOD;
return ret;
int main()
ios::sync_with_stdio(false);
ll n,m;
cin>>n>>m;
m %= MOD;
cout<<(quickPow(m,n)%MOD-((m*quickPow(m-1,n-1))%MOD)+MOD)%MOD;
return 0;
以上是关于牛客-开心的涂刷——数学分析+快速幂取模问题的主要内容,如果未能解决你的问题,请参考以下文章