https://www.acmicpc.net/problem/6679
6679번: 싱기한 네자리 숫자
싱기한 네자리 숫자란, [1000,9999]인 10진수 숫자중에서, 다음의 조건을 만족하는 숫자를 말한다. 숫자를 10진수, 12진수, 16진수로 나타낸 다음, 각각의 숫자에 대해, 각 숫자의 자리수를 더했을
www.acmicpc.net
진법에 맞게 변환해 주는 함수를 정의하고
for 문을 통해 1000부터 10000까지 돌면서
10진수, 12진수, 16진수의 각 자리수를 더했을 때 세 값이 같은 수를 출력하였다.
#include <iostream>
using namespace std;
int digit(int n, int num) {
int result = 0;
while (n) {
result += n % num;
n /= num;
}
return result;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
for (int i = 1000; i < 10000; i++) {
if ((digit(i, 10) == digit(i, 12)) && (digit(i, 10) == digit(i, 16))) {
cout << i << "\n";
}
}
return 0;
}
'코딩테스트 > Baekjoon' 카테고리의 다른 글
[백준 #11399] ATM (C++) (0) | 2021.09.23 |
---|---|
[백준 #1427] 소트인사이드 (C++) (0) | 2021.09.23 |
[백준 #1065] 한수 (C++) (0) | 2021.09.20 |
[백준 #2502] 떡 먹는 호랑이 (C++) (1) | 2021.09.18 |
[백준 #10974] 모든 순열 (C++) (0) | 2021.09.18 |