fzu - 1752 Problem 1752 A^B mod C
生活随笔
收集整理的這篇文章主要介紹了
fzu - 1752 Problem 1752 A^B mod C
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題意 :A^B%C(快速冪)
注意:直接由快速冪會溢出,要做優(yōu)化不讓溢出
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; typedef unsigned __int64 LL; LL solve (LL s,LL t,LL m)//防溢出 {LL ans = 0;while(t){if(t&1){ans += s;if(ans >=m)ans -= m;}s += s;if(s >= m)s -= m;t /= 2;}return ans%m; } LL fun(LL a,LL n,LL m) {if(n == 1) return a % m;if(n == 0)return 1;LL temp = fun(a,n/2,m);temp = solve(temp,temp,m);if(n % 2 == 1){temp = solve (temp,a,m);}return temp%m; } int main() {LL n,m,a;while(~scanf("%I64u%I64u%I64u",&a,&n,&m)){printf("%I64u\n",fun(a,n,m));} }總結(jié)
以上是生活随笔為你收集整理的fzu - 1752 Problem 1752 A^B mod C的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows下Yarn安装与使用
- 下一篇: 资深架构师十几年的架构干货经验总结分享!