您的位置:首页 > 其它

acm 2035 人见人爱A^B

2013-10-08 16:01 295 查看
#include<stdio.h>
#include<stdlib.h>
int
main()
{

   int
i,a,b;

   int
ch[3];

   while(scanf("%d%d",&a,&b)!=EOF)

   {

     
 if(a==0 &&
b==0)

     
   
 break;

     
 ch[2]=a%10;

     
 ch[1]=a%100/10;

     
 ch[0]=a%1000/100;

     
 for(i=1;i<b;i++)

     
 {

     
   
 ch[2]=ch[2]*a;

     
   
 ch[1]=ch[1]*a+ch[2]/10;

     
   
 ch[2]=ch[2]%10;

     
   
 ch[0]=(ch[0]*a+ch[1]/10)%10;

     
   
 ch[1]=ch[1]%10;

     
 }

     
 if(ch[0])

     
   
 printf("%d%d%d\n",ch[0],ch[1],ch[2]);

     
 if(ch[0]==0 &&
ch[1]!=0)

     
   
 printf("%d%d\n",ch[1],ch[2]);

     
 if(ch[0]==0 &&
ch[1]==0)

     
   
 printf("%d\n",ch[2]);

   }

   return 0;
}
//初学者伤不起啊,呵呵
//此题借鉴了以前求大数N!的方法,用一个数组去装大数,
//而此题只需要存储后三位即可,然后通过进位,得出后三位。

//http://acm.hdu.edu.cn/showproblem.php?pid=2035
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: