题目描述
给定a和b,输出a^b的最后一个数字。
输入
输入数据有多组,每组数据占一行,每行为a和b的值(0<a,b<=2^30)
输出
对每组输入数据,输出a^b的最后一位数字,每组数据占一行。
样例输入
2 23 4
样例输出
41
提示:要注意发现此题的规律,不要用for来将它for出来,数据太大。
#include<stdio.h>
int
main()
{
int
a,b;
while
(~
scanf
(
"%d%d"
,&a,&b))
{
b=b%4;//九以内的数次方都是每四个个位重复出现;
a=a%10;
if
(b==0)
printf
(
"%d\n"
,a*a*a*a%10);
if
(b==1)
printf
(
"%d\n"
,a);
if
(b==2)
printf
(
"%d\n"
,a*a%10);
if
(b==3)
printf
(
"%d\n"
,a*a*a%10);
}
return
0;
}