A^B
描述
给定a和b,输出a^b的最后一个数字。
输入
输入数据有多组,每组数据占一行,每行为a和b的值(0<a,b<=2^30)
输出
对每组输入数据,输出a^b的最后一位数字,每组数据占一行。
样例输入
2 2
3 4
样例输出
4
1
#include<stdio.h>
int mimi(int a,int b,int c)
{
int flag=1;int temp; //最终返回flag值,每个flag为1
temp=a%c; //temp是数值a的个位值;
while(b) //当次数不为零执行
{
if(b%2) // b最后为1时结束
flag=flag*temp%c;
temp=temp*temp%c; //个位*个位
b=b/2; //每乘一次,次数消耗两次
}
return flag;
}
int main()
{
int m,n,k;
int mimi(int a,int b,int c);
while(~scanf("%d%d",&m,&n),n,m)
{
k=mimi(m,n,10);
printf("%d\n",k);
}
return 0;
}