관리 메뉴

밤색모자이크의 개발이야기

Project Euler Problem 16 : 2^1000의 각 자리수를 모두 더하면? 본문

Algorithm/Project Euler

Project Euler Problem 16 : 2^1000의 각 자리수를 모두 더하면?

밤색모자이크 2017. 6. 19. 10:53


Project Euler 문제를 해답을 포스팅합니다.

※ 주의 : 최적화는 할 수 있는 만큼했습니다. 따라서 속도면에서는 많이 부족합니다.

           문제를 푸는데 목표를 두었고 또한 TDD를 최대한 활용하였습니다.

           몇가지 문제의 경우 TDD를 안한 경우도 있습니다.

           혹시, 최적화 또는 속도 증가에 대한 부분을 지적해주실 분은 너무나도 감사합니다.



Project Euler Problem 16


215 = 32768 의 각 자리수를 더하면 3 + 2 + 7 + 6 + 8 = 26 입니다.

21000의 각 자리수를 모두 더하면 얼마입니까?




이 문제는 기존에 문자열 연산을 통하여 구하였던 13번 문제를 재사용하여 풀었습니다.




Source Code


Main Class Code

public class Main { 
    public static void main(String [] args) {
        WithString_Calcurator calcurator = new WithString_Calcurator();
         
        int [] array = { 2 };
        int result = 0; 
         
        for(int i=1; i<1000; i++) { 
            array = calcurator.add(array, array); 
            array = calcurator.clean(array); 
        } 
        for(int i=0; i<array.length; i++) { 
            System.out.print(array[i]); 
            result += array[i]; 
        } 
        System.out.println(); 
        System.out.println(result); 
    } 
}


Comments