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 
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;
}

你可能感兴趣的:(c++ 外婆的数学题)