最近做了几个acm的题,感觉真挺经典的。分享一个觉得有点意思的,呵呵:
Problem Description
求
A^B
的最后三位数表示的整数。
说明: A^B 的含义是 “A 的 B 次方 ”
说明: A^B 的含义是 “A 的 B 次方 ”
Input
输入数据包含多个测试实例,每个实例占一行,由两个正整数
A
和
B
组成(
1<=A,B<=10000
),如果
A=0, B=0
,则表示输入数据的结束,不做处理。
Output
对于每个测试实例,请输出
A^B
的最后三位表示的整数,每个输出占一行。
Sample Input
2 3
12 6
6789 10000
0 0
Sample Output
8
984
1
- #include <stdio.h>
- #include <stdlib.h>
- #define ERROR 0
- int main()
- {
- while(1)
- {
- int a,b,sum=1;
- printf("a的b次方,请输入a,b:");
- scanf("%d %d",&a,&b);
- if(a<1||b>10000) return ERROR;
- if(a==0&&b==0) exit(0);
- for(int i=0;i<b;i++)
- {
- a=a%1000;
- sum*=a;
- sum=sum%1000;
- }
- printf("%d的%d次方最后三位数是:%d/n",a,b,sum);
- }
- return 0;
- }