본문 바로가기

Algorithm/Brute Force

Baekjoon 2231 분해합

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

소스결과 1988 KB / 8 ms

출처 Baekjoon

언어 C++ 17

분류 Brute Force

 

설명

특정 수 N에 대해서 생성자를 구하여라.

 

알고리즘

1. 1 ~ N 까지 각 숫자에 대해서 분해합을 구한다.

2. 분해합이 입력값과 일치하면 출력한다. 만약 해당 결과가 없다면 0을 출력한다. 

 

소스코드

#include <iostream>

using namespace std;

int solve(int k)
{
	int res = k;
	for (; k; k /= 10)
		res += k % 10;
	return res;
}

int main()
{
	int n; cin >> n;

	int res = 0;

	for (int i = 1; i <= n; i++) {
		int divSum = solve(i);
		if (divSum == n) {
			res = i;
			break;
		}
	}

	cout << res;

	return 0;
}

'Algorithm > Brute Force' 카테고리의 다른 글

Baekjoon 3085 사탕게임  (0) 2019.08.21
Baekjoon 17135 캐슬 디펜스  (0) 2019.06.02
Baekjoon 17136 색종이 붙이기  (0) 2019.06.02
Baekjoon 14500 테트로미노  (0) 2019.06.02
Baekjoon 16675 두 개의 손  (0) 2019.03.31