반응형
안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
예를 들자면 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 이 되는데,
여기서 10!의 각 자리수를 더해 보면
3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 입니다.
100! 의 자리수를 모두 더하면 얼마입니까?
이 예제에서는 long타입으로는 표현할 수 없는 값이라
BigInteger 클래스를 사용하였습니다!!
public class Question20 {
public static void main(String[] args) {
BigInteger bi = new BigInteger("1");
int num = 0;
for (int i = 2; i <= 100; i++) {
bi = bi.multiply(BigInteger.valueOf(i));
}
System.out.println(bi);
String number = String.valueOf(bi);
String str[] = number.split("");
for (int i = 0; i < str.length; i++) {
num += Integer.parseInt(str[i]);
}
System.out.println(num);
}
}
반응형
'알고리즘,손코딩 문제' 카테고리의 다른 글
프로젝트 오일러 문제 16 : 2^1000의 각 자리수를 모두 더하면 얼마입니까? (0) | 2017.03.11 |
---|---|
프로젝트 오일러 문제 25 : 피보나치 수열에서 값이 처음으로 1000자리가 되는 것은 몇번째 항입니까? (0) | 2017.03.11 |
프로젝트 오일러 문제 3 : 600851475143의 소인수 중에서 가장 큰 수를 구하세요. (0) | 2017.03.11 |
프로젝트 오일러 문제 10 : 이백만(2000000) 이하의 소수의 합을 구하시오. (0) | 2017.03.11 |
프로젝트 오일러 문제 7 : 10001번 째 소수는 ?? (0) | 2017.03.11 |