728x90
320x100
2231번: 분해합
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이
www.acmicpc.net
📌 접근 방법
- N의 가장 작은 생성자가 나올 때 까지 1~N-1을 하나하나 직접 해보며 모든 경우의 수를 탐색해본다
- 가장 작은 생성자 출력
- 오름차순으로 생성자를 찾아감 ➡ 가장 처음 찾은 생성자가 답이므로 출력하고 끝냄
- 만약 찾지 못한다 ➡ result가 초기화되지 못하여 그대로 0이 출력될 것
반응형
✅ Pass Code
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{
int N,i=0;
cin>>N;
for(int i=1; i<N; i++){
int sum=i,tmp=i;
while(tmp>0){
sum+=tmp%10;
tmp/=10;
}
if(sum==N){
cout<<i<<endl;
return 0;
}
}
cout<<"0"<<endl;
return 0;
}
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/001.gif)
728x90
반응형
'Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ/백준/C++] 1181번 단어 정렬 (0) | 2024.01.27 |
---|---|
[BOJ/백준/C++] 1436번 영화감독 숌 (1) | 2024.01.26 |
[BOJ/백준/C++] 1018번 체스판 다시 칠하기 (1) | 2024.01.26 |
[BOJ/백준/C++] 10757번 큰 수 A+B (0) | 2024.01.26 |
[BOJ/백준/C++] 2869번 달팽이는 올라가고 싶다 (0) | 2024.01.26 |