HDU2035——人见人爱A^B
2016-08-06 16:19
225 查看
人见人爱A^B
[align=center]Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 35500 Accepted Submission(s): 24125
[/align]
[align=left]Problem Description[/align]
求A^B的最后三位数表示的整数。
说明:A^B的含义是“A的B次方”
[align=left]Input[/align]
输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。
[align=left]Output[/align]
对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。
[align=left]Sample Input[/align]
2 3
12 6
6789 10000
0 0
[align=left]Sample Output[/align]
8
984
1
解:题目简单明了,而且数据量不算很大,因此直接暴力求解即可,如果A与B的范围扩大,一定会超时,因此这里给出快速幂的一种解法。
普通暴力解法:
#include<stdio.h> int main() { int a,b; while(~scanf("%d%d",&a,&b) && a && b) { int sum=a; for(int i=1;i<b;i++){ sum=(sum*a)%1000; } printf("%d\n",sum%1000); } return 0; }
快速幂解法:
#include<stdio.h> int power(int a,int b){ int count=1; while(b){ if(b&1)count=count*a%1000; a=a*a%1000; b=b/2; } return count%1000; } int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF && a && b){ printf("%d\n",power(a,b)); } return 0; }
相关文章推荐
- HDU 2035 人见人爱
- hdu 2035 人见人爱A^B
- HDU 2035 人见人爱A^B(快速幂)
- JAVA hdu 2013(蟠桃记)&&hdu 2035(人见人爱A^B)
- 杭电 HDU 2035 人见人爱A^B
- 杭电hdu_2035_人见人爱A^B
- hdu 2035 人见人爱A^B ——同余的简单性质
- hdu 2035 人见人爱A^B
- hdu 2035 人见人爱A^B(两种解决方式:第二种快速幂取模)
- hdu 2035 人见人爱A^B
- HDU 2035 人见人爱A^B (快速幂取模)
- hdu 2035——人见人爱A^B
- HDU 2035:人见人爱A^B
- hdu-2035 人见人爱A^B
- 【hdu 2035】 人见人爱A^B
- HDU 2035 人见人爱A^B
- hdu 2035人见人爱A^B
- 人见人爱A^B HDU - 2035
- HDU - 2035 人见人爱A^B
- HDU 2035 人见人爱A^B(幂取模)