「JoyOI1118 – 1119」a^b1 – 2
a^b
描述 Description
求a^b
由于结果可能很大,我们现在只需要知道这个值
mod 1012就可以了(为什么是1012?我的生日)
a<1000000
b<1000000
由于结果可能很大,我们现在只需要知道这个值
mod 1012就可以了(为什么是1012?我的生日)
a<1000000
b<1000000
输入格式 InputFormat
第一行两个数 a b
输出格式 OutputFormat
一行,就是mod 1012的值
样例输入 SampleInput
2 2
样例输出 SampleOutput
4
代码
快速幂
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include<iostream> using namespace std; int main() { int a,b; scanf("%d%d",&a,&b); int s=1; while(b) { if(b&1==1){s*=a;s%=1012;} b>>=1;a=a*a%1012; } printf("%d",s); return 0; } |
1119有多组数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include<iostream> using namespace std; int main() { int n; long long a,b,s; scanf("%d",&n); while(n--) { scanf("%lld%lld",&a,&b); s=1; while(b) { if(b&1==1){s*=a;s%=1012;} b>>=1;a=a*a%1012; } printf("%lld\n",s); } return 0; } |
Subscribe