본문 바로가기

CS/백준

백준 4673번: 셀프넘버 (C++)

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

 

4673번: 셀프 넘버

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,

www.acmicpc.net

 

 

#include <iostream>
#include <string>

#define MAX_NUM 10000
using namespace std;

int selfNum(int num)
{
    int sum = num;
    int d = num;
    do{
        sum += d%10;
        d = d/10;
    }while(d!=0);

    return sum;
}

int main(void)
{
    int n = 1;
    bool selfChk[MAX_NUM+1] = {false};

    for( int i=1; i <= MAX_NUM; i++ )
    {
        int ret = selfNum(i);
        if( ret <= MAX_NUM )
            selfChk[ret] = true;
    }

    for( int i=1; i <= MAX_NUM; i++ )
    {
        if( !selfChk[i] )
            cout << i << endl;
    }

    return 0;
}

 

self number 구하는거랑 배열에 결과 저장하는거만

할 수 있으면 금방할 수 있을 것 같은 문제다

 

 


금욜에는 집중이 진짜 안된다

간단한건데 몇분이 걸린거징ㅎㅎ;

'CS > 백준' 카테고리의 다른 글

백준 11720번: 숫자의 합(Python)  (0) 2021.06.01
백준 11654번: 아스키 코드 (Python)  (0) 2021.06.01
백준 8958번: OX 퀴즈 (C++)  (0) 2021.05.21