나의 브을로오그으

[c++] 2231번 : 분해합 본문

알고리즘/BaekJoon

[c++] 2231번 : 분해합

__jhp_+ 2022. 4. 15. 13:26

https://www.acmicpc.net/problem/2231

 

2231번: 분해합

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

www.acmicpc.net

#include <iostream>
#include <vector>
using namespace std;

int GetDicompose(int n)
{
	int decompose = n;
	while (n > 0)
	{
		decompose += n % 10;
		n /= 10;
	}
	return decompose;
}

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	int N = 0;
	int result = 0;
	cin >> N;

	for (int i = 1; i < N; ++i)
	{
		int index = GetDicompose(i);
		if (index == N)
		{
			result = i;
			break;
		}
	}
	cout << result << '\n';

	return 0;
}

'알고리즘 > BaekJoon' 카테고리의 다른 글

[c++] 2609번 : 최대공약수, 최소공배수  (0) 2022.04.27
[c++] 2292번 : 벌집  (0) 2022.04.15
[c++] 2164번 : 카드2  (0) 2022.04.15
[c++] 2108번 : 통계학  (0) 2022.04.13
[c++] 1978번 : 소수 찾기  (0) 2022.03.30