6679번: 싱기한 네자리 숫자
문제 싱기한 네자리 숫자란, [1000,9999]인 10진수 숫자중에서, 다음의 조건을 만족하는 숫자를 말한다. 숫자를 10진수, 12진수, 16진수로 나타낸 다음, 각각의 숫자에 대해, 각 숫자의 자리수를 더했을 때, 세 값이 모두 같아야 한다. 여러분은 싱기한 네자리 숫자를 모두 출력해야 한다. 입력 입력은 주어지지 않는다. 출력 싱기한 네자리 숫자를 오름차순으로 한줄에 하나씩 출력한다. 예제 입력 1 복사 예제 출력 1 복사 2992 2993 29
www.acmicpc.net
매우 쉬운 버전의 완전탐색 문제이다. 1000~9999까지 모든 숫자에 대해서 10진수, 12진수, 16진수 각 자리수를 다 더했을 때 값이 일치하는 숫자를 출력해주면 된다.
#include <iostream>
using namespace std;
int main(void)
{
for (int i = 1000; i < 10000; i++)
{
int temp = i;
int decSum = 0, sum = 0;
while (temp / 10 != 0)
{
decSum += temp % 10;
temp /= 10;
}
decSum += temp;
temp = i;
while (temp / 12 != 0)
{
sum += temp % 12;
temp /= 12;
}
sum += temp;
if (decSum != sum) continue;
temp = i;
sum = 0;
while (temp / 16 != 0)
{
sum += temp % 16;
temp /= 16;
}
sum += temp;
if (decSum != sum) continue;
cout << i << endl;
}
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
알고리즘 200일 프로젝트 - 22day
내일도 열심히!
'알고리즘 > BOJ' 카테고리의 다른 글
백준 2981번: 검문 (0) | 2020.04.30 |
---|---|
백준 1062번: 가르침 (0) | 2020.04.29 |
백준 1074번: 게임 (0) | 2020.04.28 |
백준 7453번: 합이 0인 네 정수 (0) | 2020.04.26 |
백준 1038번: 감소하는 수 (0) | 2020.04.25 |