알고리즘/백준
BOJ 2231 분해합 / C++
내이름은 킹햄찌
2022. 5. 24. 00:03
https://www.acmicpc.net/problem/2231
2231번: 분해합
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이
www.acmicpc.net
백준 온라인저지 2231번 분해합문제입니다.
아이디어
n의 분해합을 구하는 문제입니다. 완전탐색으로 풀이했습니다.
#include<iostream>
using namespace std;
int n;
void input() {
cin >> n;
}
void solution() {
int sol = 0;
for (int i = 1; i < n; i++) {
int sum = 0;
int num = i;
while (num != 0) {
//분해합 원소 만들기
sum += num % 10;
num /= 10;
}
//분해합 조건
if (sum + i == n) {
sol = i;
break;
}
}
cout << sol;
}
int main()
{
input();
solution();
}