7
7-23 快速幂
给出三个整数 a,b,m,求 a
b
%m 的值。
输入格式:
一行三个整数 a,b,m(m<10
10
)。
输出格式:
一个整数,表示 a
b
%m 的值。
输入样例:
2 3 11
输出样例:
8
#include <iostream>using namespace std;
long long m;
long long f(long long x,long long p){long long sum;if(p==0){return 1;}sum=f(x,p/2);if(p%2==1){sum=sum*sum%m*x%m;}else{sum=sum*sum%m;}return sum;
}int main()
{long long x,p,res;cin>>x>>p>>m;res=f(x,p);cout<<res;return 0;
}
7
7-23 快速幂
给出三个整数 a,b,m,求 a
b
%m 的值。
输入格式:
一行三个整数 a,b,m(m<10
10
)。
输出格式:
一个整数,表示 a
b
%m 的值。
输入样例:
2 3 11
输出样例:
8
#include <iostream>using namespace std;
long long m;
long long f(long long x,long long p){long long sum;if(p==0){return 1;}sum=f(x,p/2);if(p%2==1){sum=sum*sum%m*x%m;}else{sum=sum*sum%m;}return sum;
}int main()
{long long x,p,res;cin>>x>>p>>m;res=f(x,p);cout<<res;return 0;
}