티스토리 뷰

Algorithm/BOJ

백준 2231번 C++

poopooreum 2023. 8. 5. 18:51
반응형
백준 2231번 분해합

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>
using namespace std;
int find(int n){
    int sum,flag=0,ind=0;
    for(int x=1;x<n;x++){
        sum=x;
        int d=x;
        while(d>0){
           sum+=d%10; 
           d/=10; 
        }
        if(sum==n){
            flag=1;
            ind=x;
            break;
        }            
    }
    if(flag==1)
        return ind;
    else
        return 0;
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin>>n;
    int d=find(n);
    cout<<d;
}

문제 풀이

브루트포스 알고리즘 문제입니다. 그냥 입력받은 수까지 for문을 돌리면서 분해합을 구해주고 그 분해합이 입력받은 수와 같다면 출력해주시면 됩니다.

반응형

'Algorithm > BOJ' 카테고리의 다른 글

백준 2309번 C++  (0) 2023.08.05
백준 2292번 C++  (0) 2023.08.05
백준 2230번 C++  (0) 2023.08.05
백준 2206번 C++  (0) 2023.08.05
백준 2193번 C++  (0) 2023.08.05
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함