蓝桥杯训练题(1)

幂ab的末3位数是多少?

输入

两个正整数a,b。1≤a≤100,1≤b≤10000。

输出

从高位到低位输出幂的末三位数字,中间无分隔符。若幂本身不足三位,在前面补零。

样例输入

7 2011

样例输出

743

 答案

#include
int main()
{
	int a, b;
	int ret=1;
	scanf("%d%d", &a, &b);
	int i;
	for (i = 0; i < b; i++)
	{
		ret = (ret * a) % 1000;
	}
	printf("%03d\n", ret);
	return 0;
}

 解析

首先我们看到题目只需要我们输出末尾的三位数,那么我们在计算的时候其实只需要对最后三位进行计算,然后开始使用循环.需要注意的是这里在幂本身不足三位的时候,我们需要补0,所以这里使用了%03d输出.

你可能感兴趣的:(算法,算法)