2289 - 小东的计算器

话说小东是一个懒学生,他每晚做数学作业的时候都不愿意自己手算,所以他去文具店买了一个计算器。谁知道这个计算器的显示屏是坏的,所有运算结果的后四位都显示不了。恰巧老师让小东算M的N次方是多少,小东只能求助于你了。

例如:10的5次方,计算器后四位显示的是0000,10的3次方显示的是1000,2的3次方显示的是0008(计算器总是会将结果前的显示区域用0填充)

题目输入

每行两个数字M和N(用空格分开),0    mn   10000,当mn同时为0时输入结束。

题目输出

计算器后四位应该显示的内容

输入/输出样例

题目输入

2 3
10 5
0 0

题目输出

0008
0000

C语言解答

#include <stdio.h>
int main()
{
	int m,n;
	int total;
	while(scanf("%d %d",&m,&n))
	{
		if(m==0&&n==0)
		break;
		total=1;
		while(n--)
		{
			total=total*m%10000;
		}
		printf("%04d\n",total);
	}
}

C++解答

#include<stdio.h>

int main(){
	int a, b;
	while(scanf("%d%d", &a, &b) != EOF){
		if(a == 0 && b == 0){
			return 0;
		}
		int ans = 1;
		for(int i = 0; i < b; i++){
			ans = (((a % 1000) * (ans % 1000)) + 1000) % 1000;
		}
		printf("%04d\n", ans);
	}
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题