hdoj-2035-人见人爱a^b

题目:人见人爱a^b
代码:(其实很简单)

#include<stdio.h>
int main()
{
	int a,b,t=0,i,j;
	while(scanf("%d%d",&a,&b)!=EOF)
	{
		if(a==0 && b==0)break;
		for(i=2,t=a;i<=b;i++)
		{
			if(t*a>=1000)
			{
				t=(t*a)%1000;
			}
			else t=t*a;
		}
		printf("%d\n",t);
	}
	return 0;
}//只需保留后三位

看到题目的时候就清楚这是一个大数的运算,本来的想法是存字符串,但是怎么想也不明白。后来了解到每一次只需要存最后三位就可以,不必存a^b那么大的数。
t初始化存a的值,判断每一次的t*a是否大于1000,如果大于1000,存最后三位数。这里有一个注意点: i要从2开始

posted @ 2016-03-04 21:10  Wasdns  阅读(286)  评论(0编辑  收藏  举报