-
[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