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
#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
相关文章推荐
- ACM&nbsp;JOJ&nbsp;1007
- hdoj&nbsp;&nbsp;acm&nbsp;&nbsp;&nbsp;1097
- ACM : 数论题 poj1061 (扩展欧几…
- ACM: 图论题 poj 1789 (一次AC的水…
- ACM: 模拟题 poj 2996
- ACM: dp题(动态规划) poj 2151 (d…
- ACM: 哈希暴力求解 哈希题 poj 184…
- ACM: 优先队列 数据结构题 toj 290…
- ACM: 暴力题 poj 1338
- ACM: 动态规划题+剪枝 toj 3904
- ACM: 浙江省赛题目 22:00 ~ 3:00 (…
- ACM: 直接敲出LCA算法 图论题 poj …
- ACM: 线段树 poj 3468
- ACM: 动态规划题 poj 3034
- acm 1108 求两个数的最小公倍数
- ACM: 动态规划题 poj&nb…
- ACM: 图论题 poj 1…
- ACM: zoj 2714
- ACM: uva 11134
- ACM: LA 3266 -&nb…