// 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