| 记录编号 | 598198 | 评测结果 | AAAAAAAAAA | ||
|---|---|---|---|---|---|
| 题目名称 | 1130.取余运算 | 最终得分 | 100 | ||
| 用户昵称 | 是否通过 | 通过 | |||
| 代码语言 | C++ | 运行时间 | 0.028 s | ||
| 提交时间 | 2025-01-22 17:14:55 | 内存使用 | 3.28 MiB | ||
#include <iostream>
#include <cstdio>
using namespace std;
long long a,n,p;
long long f(long long x){
    if(x==1) return a;
    if(x==0) return 1;
    long long t=f(x/2);
    if(x%2==0){
        return (t*t)%p;
    }else{
        return (((t*t)%p)*a)%p;
    }
}
int main(){
    freopen("dmod.in","r",stdin);
    freopen("dmod.out","w",stdout);
    cin>>a>>n>>p;
    cout<<f(n);
    return 0;
}