어떤 자연수 n이 있을 때 n과 n의 각 자리수를 더한 것을 분해합이라고 하고, 이 분해합을 A라고 할 때 n은 A의 생성자가 된다고 한다. 임의의 자연수 n, 즉 분해합 n이 주어졌을 때 생성자 m을 구하는 문제이다. 각 자리수를 더하는 방법만 알고 있다면 아주 쉽게 해결 할 수 있는 문제이다. 임의의 정수 i가 있을 때 각 자리수를 더하는 방법은 다음과 같다. while(i > 0){ sum += i % 10; i = i / 10; } 합을 저장할 sum변수에 i를 10으로 나눈 나머지를 넣은 후 다시 i에 i를 10으로 나눈 몫을 저장한다. 만약 789라면 1. 798를 10으로 나눈 나머지인 9가 sum에 저장됨 2. i에 789를 10으로 나눈 몫인 78이 저장됨 3. 78을 10으로 나눈 나머..