The problem 56 of project euler requires one to sum the digits of the exponentiation a^b, where 1<= a,b <= 100, and find the largest sum.
Well, let’s just say I did it by proper brute force. Here’s my java code:
public static int largestSumOfDigitsInExponentiationNew(int baseMax, int exponentMax) {
int largest = 0;
for (int i = 1; i <= baseMax; i++) {
BigInteger num = BigInteger.valueOf(i);
BigInteger prev = num;
largest = Problem_56.checkLargestSum(prev, largest);
for (int j = 2; j <= exponentMax; j++) {
prev = prev.multiply(num);
largest = Problem_56.checkLargestSum(prev, largest);
}
}
return largest;
}
private static int checkLargestSum(BigInteger number, int curentLargest) {
int sum = NumberUtil.getSumOfDigits(number);
return curentLargest < sum ? sum : curentLargest;
}
Popularity: 5% [?]