코딩테스트/Baekjoon

[백준 #6679] 싱기한 네자리 숫자 (C++)

동띵 2021. 9. 22. 17:45

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