c++ 外婆的数学题
外婆的数学题
题目描述
小C是个数学迷,总是缠着曾经是数学老师的外婆出题考考自己。外婆当然乐意啦,于是就在纸上写下了下面这个算式:
'x^y mod 10007 = ?
这下可把小C给难住了,你能帮助他解决这个问题么?
输入
输入包括两个整数,分别表示:x、y。
输出
输出包括一个整数,表示算式的答案。
样例输入
2 10
样例输出
1024
提示
对于100%的数据中,1≤x≤100,000,1≤y≤1,000,000,000。
Source Code
#include <bits/stdc++.h>
using namespace std;
long long pow(int a,int x)//二分快速幂
{
a = a % 10007;
int ans = 1;//是二分快速幂结果
while (x > 0)
{
if (x % 2 == 1)
{
ans = ans * a % 10007;
}
a = a * a % 10007;
x = x / 2;
}
return ans;
}
int main()
{
int x,y;
cin >> x >> y;
cout << pow(x,y)<< endl;
return 0;
}