题目:人见人爱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开始

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2021-10-13
  • 2022-12-23
猜你喜欢
  • 2021-08-31
  • 2021-12-27
  • 2021-10-10
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2021-06-01
相关资源
相似解决方案