알고리즘,손코딩 문제

프로젝트 오일러 문제 56 : a, b<100 인 자연수 a^b에 대해여, 자릿수의 합이 최대인 경우 그 값은 얼마입니까?

알통몬_ 2017. 3. 11. 20:50
반응형


안녕하세요 알통몬입니다.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^

 


구골(googol)은 10^100을 일컫는 말로 1뒤에 0이 백 개나 붙는 어마어마한 수입니다.

100^100은 1뒤에 0이 2백 개가 붙으니 상상을 초월할만큼 크다 하겠습니다.

하지만 이 숫자들이 얼마나 크건간에, 각 자릿수를 모두 합하면 둘 다 겨우 1밖에 되지 않습니다.


a, b < 100 인 자연수 a^b에 대하여, 자릿수의 합이 최대인 경우 그 값은 얼마입니까?



public class Question {


public static void main(String[] args) {

int b = 0;

int sum = 0;

int max = 0;

String e = "2";

long d = 1;

while (d < 100) {

BigInteger num = new BigInteger(e);

d++;

for (b = 1; b <= 99; b++) {

num = num.multiply(num.valueOf(d));

sum = 0;

String str = String.valueOf(num);

String[] str2 = str.split("");

for (int c = 0; c < str2.length; c++) {

sum += Integer.parseInt(str2[c]);

}

if (max < sum) {

max = sum;

}

}

int f = Integer.parseInt(e);

f++;

e = String.valueOf(f);

}

System.out.println(max);

}

}

반응형