杭电 1097
A hard puzzle
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 34327 Accepted Submission(s): 12326
Problem Description
lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how to know the a^b.everybody objects to this BT problem,so lcy makes the problem easier than begin.
this puzzle describes that: gave a and b,how to know the a^b's the last digit number.But everybody is too lazy to slove this problem,so they remit to you who is wise.
Input
There are mutiple test cases. Each test cases consists of two numbers a and b(0<a,b<=2^30)
Output
For each test case, you should output the a^b's last digit number.
Sample Input
7 668 800
Sample Output
96
Author
eddy
Recommend
JGShining
分析:
跟杭电1061类似,是杭电1061的变形,也是利用一个数的次方的周期为四来做的,因此在这里不在赘述,详细解答参见杭电 1061的解题报告。
#include<stdio.h>
#include<math.h>
int main()
{
int a, b, ans;
while (scanf("%d %d", &a, &b) != EOF)
{
ans = 1;
a = a % 10;
b = b % 4;
if (b == 0)
b = 4;
for (int i = 1; i <= b; i++)
{
ans = ans*a;
}
ans = ans % 10;
printf("%d\n", ans);
}
return 0;
}