using System; using System.Collections.Generic; using java.math; class ThirteenthRoots { public static void Main() { BigInteger answer = new BigInteger("2407899893032210"); BigInteger number = answer.pow(13); Console.WriteLine("The 13th root of {0} is {1}", number, answer); Console.WriteLine(); Console.WriteLine("Determining how many 200-digit integers have integral 13th roots..."); BigInteger numMin = new BigInteger("2000000000000000"); // 2 * 10**15 BigInteger numMax = new BigInteger("2500000000000000"); // 2.5 * 10**15 BigInteger one = new BigInteger("1"); BigInteger num = numMin; int tally = 0; do { BigInteger power = num.pow(13); if (power.ToString().Length == 200) { Console.WriteLine(num); tally++; } num = num.add(one); } while (!num.Equals(numMax)); Console.WriteLine("Total number integers x where x**13 has 200 digits = " + tally); } }