-
描述
- Give you two numbers a and b,how to know the a^b's the last digit number.It looks so easy,but everybody is too lazy to slove this problem,so they remit to you who is wise.
/*
* 找出每个数各位的循环长度就可以了
* a,b的范围非常大,要用long
*/
import java.util.Scanner;
public class Main{//Accepted 603MS 2773 java 08-09 17:57:34
private static int c[]={1,1,4,4,2,1,1,4,4,2};//存每个数字的循环节
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
while(input.hasNext()){
long a=input.nextLong();
a=a%10;//求最后一位
long b=input.nextLong();
if(b==0){//任何数的0次幂都等于1
System.out.println(1);
continue;
}
if(a==1||a==0||a==5||a==6){//循环长度为1,所以永远都是自己
System.out.println(a);
continue;
}
b=b%c[(int)a];//去掉循环的
if(b==0){
b=c[(int)a];
}
System.out.println((int)Math.pow(a, b)%10);
}
}
}
import java.util.Scanner;
public class Main{//Accepted 953 1482 java 08-09 17:54:33
private static int c[]={1,1,4,4,2,1,1,4,4,2};
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
while(input.hasNext()){
String a=input.next();
int a1=a.charAt(a.length()-1)-'0';
long b=input.nextLong();
if(b==0){
System.out.println(1);
continue;
}
if(a1==1||a1==0||a1==5||a1==6){
System.out.println(a1);
continue;
}
b=b%c[a1];
if(b==0){
b=c[a1];
}
System.out.println((int)Math.pow(a1, b)%10);
}
}
}