1774: 求X^Y
题目描述
求X^Y的后3位数
输入
输入一行,分别为X、Y两个数(1 < X < 10000 < Y < 100000000)
输出
输出一行为XY的后3位数(无前导0)
样例输入
2 10001
样例输出
752
今天是女神节,先祝所有女神节日快乐!!!
好了回归正题
看这道题目,求XY的后3位数
说道X^Y肯定会很多人想到pow函数,没错,其实我第一次也是这么想的。。。
但是注意:1 < X < 10000 < Y < 100000000
数据太大,pow根本储存不下,所以不行
然后我就想到算法了
如下:
for(i=1; i<=y; i++)
last = last * x % 1000;
cout<<last;
这个方法虽行,但是会TLE
后来我定义了一个函数,再把这个代码放进函数里,没想到的是它竟然对了。。。
看代码吧
#include <iostream>
using namespace std;
void a(int i,int& last,int x,int y)
{
for(i=1; i<=y; i++)
last = last * x % 1000;
}
int main()
{
int i, x, y, last=1;
cin>>x>>y;
x %= 1000;
a(i,last,x,y);
cout<<last;
return 0;
}
看着仿佛很简单,但是我TLE了很多次。。。
浙公网安备 33010602011771号