【中学】求最后3位数值
小明在中学会求一个数的 n 次方了,但计算机还不会,请你来编写一个程序吧。由于计算机比较“笨”,所以我们编写程序的功能不用太强,只要能算出 a 的 n 次方的最后 3 位数就可以了。
输入:
a 和 n 的值。假设 a<=150 。
输出:
求 a 的 n 次方的最后 3 位数。
样例:
序号 | 测试输入 | 期待的输出 | 额外进程 |
---|---|---|---|
1 | 10 0↵ | The last 3 numbers is 1.↵ | 0 |
2 | 2 8↵ | The last 3 numbers is 256.↵ | 0 |
3 | 100 10↵ | The last 3 numbers is 000.↵ | 0 |
思路
既然只求最后三位,那我们就只用最后三位计算即可,并且每次计算结果都取后三位
代码
#include <stdio.h>
main()
{
int a, n, result = 1;
scanf("%d %d", &a, &n);
if (n == 0)
printf("The last 3 numbers is 1.\n");
else {
for (result = a; n > 1; n--)
{
result = (result % 10000) * a;
}
printf("The last 3 numbers is %.3d.\n", result % 1000);
}
}