티스토리 뷰

문제
 

2231번: 분해합

문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+

www.acmicpc.net

풀이
package main

import (
	"fmt"
	"bufio"
	"os"
)

func main() {
	var n int
	reader := bufio.NewReader(os.Stdin)
	fmt.Fscanln(reader, &n)

	var creator int
	for i:=0; i<n; i++ {
		var splitSum = getSplitSum(i)
		if splitSum == n {
			creator = i
			break
		}
	}
	fmt.Println(creator)
}

func getSplitSum(n int) (result int) {
	result = n
	for n != 0 {
		result += n%10
		n /= 10
	}
	return
}
728x90
댓글