ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [BOJ] 6679 :: 싱기한 네자리 숫자
    알고리즘/BOJ(C++) 2018. 6. 2. 21:26
    반응형

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


    입력은 없습니다.

    1000부터 9999까지 해당 조건을 만족하는 숫자를 모두 출력하면 되는 문제입니다.


    해당 조건은 10진수로 바꿨을 때 각 자리수의 합 == 12진수로 했을 때 모든 자리 수의 합 == 16진수로 했을 때 모든 자리 수의 합입니다.


    각 숫자를 진법 변환해주는 과정만 구현하면 아주 쉬운 문제입니다.


    저는 %연산을 통해 자리수를 확인한 후 진수로 나누어 0이 되기 전까지 각 자리를 확인해 주었습니다.


    #include <iostream>
    using namespace std;
    int main()
    {
    for(int i = 1000; i < 10000 ; i++)
    {
    int a = 0;
    int j = i;
    while (j != 0)
    {
    a += j % 10;
    j /= 10;
    }
    int b = 0;
    int k = i;
    while (k != 0)
    {
    b += k % 12;
    k /= 12;
    }
    int c = 0;
    int l = i;
    while (l != 0)
    {
    c += l % 16;
    l /= 16;
    }
    if (a == b && b == c)
    cout << i << endl;
    }
    }

    댓글로 질문해주세요 :)


    반응형

    '알고리즘 > BOJ(C++)' 카테고리의 다른 글

    [BOJ] 1699 :: 제곱수의 합  (0) 2018.06.16
    [BOJ]1406 :: 에디터  (0) 2018.06.16
    [BOJ] 8958 :: OX퀴즈  (0) 2018.06.02
    [BOJ] 2581 :: 소수  (0) 2018.06.01
    [BOJ]2908_상수  (0) 2018.06.01

    댓글

Designed by Tistory.