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了很多次。。。

记得关注+点赞哈!!!

posted @ 2023-03-08 14:37  我爱OJ  阅读(21)  评论(0)    收藏  举报  来源