京师后任
查看原帖
京师后任
1344756
ROU_bing楼主2025/6/24 16:09

不要用递归作快速幂,以下代码会卡 TLE

#include <bits/stdc++.h>
#define int long long

using namespace std;

int a,b,p;

int __pow(int a,int b,int p);

signed main(){
    scanf("%lld%lld%lld",&a,&b,&p);
    printf("%lld^%lld mod %lld=%lld",a,b,p,__pow(a,b,p));
    return 0;
}

int __pow(int a,int b,int p){
    if(b==0)    return 1;
    return ((__pow(a,b/2,p)%p)*(__pow(a,b/2,p)%p)*(b%2==1?a:1))%p;
}

Ciallo~(∠・ω< )⌒☆

2025/6/24 16:09
加载中...