백준 algorithm

백준 6679 - 싱기한 네자리 숫자

cosmohoo 2020. 2. 6. 19:33
반응형

문제 설명

-10진수의 숫자를 실제로 12진수와 16진수로 표현할 필요는 없다. 각 자리 숫자를 얻을 때마다 해당 값을 더해가며 값을 구할 수 있다. 

-3개의 함수를 생성하여 간단하게 풀었다. 

 

 

#include <iostream>
#include <vector>
#include <utility>
#include <algorithm>

using namespace std;

int find10(int N)
{   int tem=10;
    int val=0;
    while(N>0)
    {
        val+=N%tem;
        N/=tem;
    }
    return val;
}

int find16(int N)
{
    int tem=16;
       int val=0;
       while(N>0)
       {
           val+=N%tem;
           N/=tem;
       }
       return val;
}

int find12(int N)
{
    int tem=12;
       int val=0;
       while(N>0)
       {
           val+=N%tem;
           N/=tem;
       }
       return val;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    
    for(int i=1000; i<=9999; i++)
    {
        if(find10(i)==find12(i) && find12(i) == find16(i) && find16(i)==find10(i))
            cout<< i <<'\n';
    }
}
반응형