// UVa 10515 - Powers Et Al.
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.String;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String[] ab = bufferedReader.readLine().split(" ");
String a = ab[0], b = ab[1];
while (a.charAt(0) != '0' || b.charAt(0) != '0') {
int a_dig = a.charAt(a.length() - 1) - '0';
// get cycle
List<Integer> cycle = new ArrayList<Integer>();
boolean[] already = new boolean[10];
for (int i = 0; i < 10; i++)
already[i] = false;
int a_gen = a_dig;
for (int i = 0; i < 10; i++) {
cycle.add(a_gen);
already[a_gen] = true;
a_gen = (a_gen * a_dig) % 10;
if (already[a_gen])
break;
}
// power
int b_dig = (new BigInteger(b)).mod(BigInteger.valueOf(cycle.size())).intValue();
int sol = cycle.get((b_dig - 1 + cycle.size()) % cycle.size());
System.out.println(sol);
// next
ab = bufferedReader.readLine().split(" ");
a = ab[0];
b = ab[1];
}
}
}
Thursday, August 13, 2015
UVa 10515 - Powers Et Al.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment