fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 1291 (C++) 이면수와 임현수
최초 업로드: 2025-10-10 14:15:25
최근 수정 시간: 2025-10-10 14:15:25
게시자: rlatjwls3333
카테고리: 백준
조회수: 10
# [Silver III] 이면수와 임현수 [문제 링크](https://www.acmicpc.net/problem/1291) ## 문제 설명 <p>중급반을 담당하는 배성경 조교는 이 세계에 있는 모든 자연수들을 분석했다.</p> <p>고대 메갈루젼 문명에서는 모든 자연수들을 네가지 방법으로 분류하는 방법을 연구했었다고 전해진다. 그 문명에서 자연수를 구분하는 방법은 다음과 같다. (원래는 고대 히브리어와 비슷한 표음문자로 7진법으로 숫자를 표기했으나 한국어 10진수 표기법에 준수하여 해석하였다.)</p> <p>1은 위대한 숫자이므로 숫자 1을 혼자 한가지로 분류한다. 세상이 창조될 때, 그 한 숫자만이 존재했고 그 숫자들이 모여 다른 숫자를 이루므로 1은 위대한 숫자라는 것을 그 누구도 부인할 수 없을 것이다. 그러므로 1은 “가장 위대한” 이라는 의미의 “최고[드엔디 하크드 즈르네즈(dndhkdz rnez)]”, 혹은 최상위의 계급인 “제 1계급[즈엘드디 흐크드 우크드(zlddhkdWkd)]”이라 칭한다.</p> <p>2는 태초의 짝수로, 1이 두개 모여서 만들어진 숫자이다. 그런데 고대 메갈루지안 들은 이 세계가 3가지 원소로 이루어져 있다 라고 믿었기 때문에 숫자 3은 완벽한 태초의 수라고 생각했다. 그래서 숫자 2와 3을 “정말 빠른, 최초의”라는 의미인 “태초[트브드 느므크(tdbnmc)]” 혹은 시작의 의미를 갖는 “시작의 계급[큐-커프 펠린드롬(Qkffk)]”이라고 부른다.</p> <p>숫자 4는 위대한 숫자 1과 시작의 숫자 3의 합으로 “완벽하다”라는 의미를 갖는 완벽한 숫자이다. 그와 동시에, 이 완벽한 숫자와 태초의 숫자들(2와 3)의 합으로 표현되는 숫자들, 즉 6, 7, 8, 9, 10 ... 들 역시 포함해서 “처음부터 완벽했던, 태초부터 존재했던”이라는 의미인 “완전[피-얼프 에크트(perfect)]” 혹은 “신이 태초부터 완성시켜져 있었던 계급[어비스 오엘 우테(absolute)]”이라고 부른다.</p> <p>그리고 그 3가지 분류방법에 모두 들어가지 않는 숫자인 5는 애초에 금지된 숫자였으나, 다음과 같은 일화에 의해서 인류와 함께 만들어 졌다고 한다.</p> <p>본 내용은 뛰어난 고고학자 김형택의 “최초로 창조된 인류의 문명, 메갈루젼 역사서” 중에사 발췌한 내용이다.</p> <p>애초에 5라는 숫자는 존재하지 않았다. 이 세계의 “위대한 모든 만물의 창조자 베타-이아 크주엔”이 이 세계를 창조할 때 “태초의 숫자 두개의 합, 요컨대 최초 그 이전의 최초”라는 의미를 갖는 숫자 5라는 것이 존재하게 되면 세상의 균형이 흔들릴 위험이 있었기 때문이다. 그렇기 때문에 이 세계에 5라는 숫자는 “신에게 거역하는, 신을 거스르는” 의미를 갖는 숫자로, 이 세계에서 “위대한 모든 만물의 창조자 베타-이아 크주엔”에 의해 그 숫자 자체가 불문율로 금지되어 왔다.</p> <p>하지만 “위대한 모든 만물의 창조자 베타-이아 크주엔”은 이 세계가 정적이라는 생각을 하게 되었다. 자신이 모든 것을 지배하고, 자신이 모든 것을 관리하고, 이 세계는 너무나 “자연스러운”법칙에 의해 당연하게 굴러가기만 하는 것이었다.</p> <p>“위대한 모든 만물의 창조자 베타-이아 크주엔”의 창조관인 “완벽한 세계”라는 것은 “변수적 불완전함”을 포함하는 것 이라고 생각한 “위대한 모든 만물의 창조자 베타-이아 크주엔”은 자신의 “자기 의자(역주:점근적으로 신의 자아, 완벽한 정신이라는 의미를 갖는다. 인간의 자아와는 약간 다른 성격의 단어이다.)‘에 거역할 수 있는, 그런 생명체를 만들기로 한다.</p> <p>그래서 우리 인류가 탄생하게 되었다. 우리는 개별 독립적인 “자기 인격(역주:신의 자아보다는 보잘것 없다는 의미를 갖기 때문에 실제 메갈루젼 언어에서는 신의 의지를 나타내는 단어보다 매우 짧게 나타난다.)” 요컨대, 개인적 혹은 집단적 자기 결정력을 가지고 있다. 신은 “신에 반하는 첫 번째 생명체”라는 증거로 여짓 것 금지되어 왔던 숫자 5, 즉 다섯 개의 손가락을 우리에게 주었다. 그 때문에 인간은 신과 떨어져서 새로운 ‘생각[티-하인-케이(T-hin-k)]’과 ‘이해력[유-엔디어스-탄디(understand)]’을 얻게 되었다.</p> <p>신은 우리에게 양손을 주었고, 그로 인해 자연스럽게 10진수를 이용할 것이라고 생각했을 것이다. 하지만 우리는 만들어 질 때부터 신에 반하는 존재로 만들어진 터라, 비 자연스럽게도 (여기서 저자는 매우 흥분한 듯한 필체가 보였다!) 7진수를 사용하고 있는 것이다! 매우 놀랍지 않은가? 우리 인류는 신에게 선택받았다. “위대한 모든 만물의 창조자 베타-이아 크주엔”에게 선택받은 것이다! 그 증거가 우리 손에 있다. 5개의 손가락. 바로 우리의 손가락으로부터 숫자 5가 탄생하게 된 것이다!</p> <p>그렇기 때문에 숫자 5는 “인류의, 반역의”라는 의미의 “인간[트크프카(tkfka)]”혹은 “반역의 계급[케이-우드-엣타(kudeta)]”이라고 부른다.</p> <p>숫자 5는 우리에게 가장 친숙한 숫자이자, 신에게는 가장 먼 거리의 숫자이다.</p> <p>그렇기 때문에 메갈루지안들은 “위대한 모든 만물의 창조자 베타-이아 크주엔”에게 제물을 바칠 때에는 꼭 5명의 제사장이 똑같은 물건을 5개씩 바친다고 한다.</p> <p>이것이 가지는 의미를 제사장들과 그곳의 모든 메갈루지안들은 노래로 표현한다. 그 노래를 약간 어색하지만 한국말로 옮겨보면 다음과 같다.</p> <blockquote> <p>달이 차오른다. 가자.<br> 달이 차오른다. 가자.<br> 달이 차오른다. 가자.<br> 달이 차오른다. 가자.</p> <p>세상이 맨 처음 만들어지기 시작했을 때부터<br> 만들어진 숫자 5가</p> <p>매번 세상이 만들어 질 때 마다<br> 포기했던 그 다짐을</p> <p>달이 차오른다. 가자.<br> 달이 차오른다. 가자.</p> <p>아~ 아~ 아~<br> 달은 내일이면 다 차올라.</p> <p>아~아~아~<br> 그걸 놓치면 절대로 못 가</p> <p style="text-align:right">메갈루젼 역사서(김형택 저) 중 발췌</p> </blockquote> <p>메갈루젼 문명의 메갈루지안들은 현대인들과 사고구조가 매우 달라서 해석하는데 애를 먹고 있다. 실제로 지금 저 가사를 읽어 보어도 이해가 안되는 부분이 많다고 할 수 있다.</p> <p>나중에 더 많은 메갈루젼 문명의 유물들이 발굴된다면 더 정확한 해석을 하여 그들이 어떠한 삶을 살았는지 알 수 있을 것이다.</p> <p>숫자 5를 중심으로 떠오른 메갈루젼 문명의 끝은 숫자 5로 종말을 맞이했다. 메갈루젼 문명 이후에 생긴 박성원숭이와 아이들 문명의 메갈루젼 종말록에 의하면 메갈루젼 문명의 종말은 다음과 같았다고 한다.</p> <blockquote> <p>5개의 별이 떠올랐다.<br> 그것은 신의 세계에서 내려온,<br> 반역의 인류에게 신이 벌을 내린다.</p> <p>그 신은 그들의 신이 아니었다.<br> “위대한 모든 만물의 창조자 베타-이아 크주엔”<br> 그 신이 창조했던 5의 창조물의 잔해.</p> <p>메갈루젼 문명의 이단아. 그 스스로 신이 되려고 했던 자.</p> <p>“5의 반역자 키엠-제인-요엉”</p> <p>메갈루젼 문명의 최초왕 “키엠-재-에타오엔“ 이 스스로 잉태하여 낳은 세 번째 아들인 ”키엠-큐-오메가엔“의 부인 “카엥-미인-시그마”엔가 결혼한지 ‘리-디옹-에타엔 별’이 40번 빛난 후(역주:7진수로 55에 해당한다.)에 태어난 6번째 딸 “키엠-지-틴 입실리노”와 그녀의 신랑 “오에타-마인-스이카” 가 결혼한 후 ‘리-디옹-에타엔 별’이 5번 빛난 후 낳은 첫 번째 아들이 바로 “5의 반역자 키엠-제인-요엉”이다.</p> <p>그에 의해 5개의 별의 재앙이 이루어졌다.</p> <p>달이 떠올랐다. 가자.<br> 달이 떠올랐다. 가자.</p> <p>지금 떠나지 않으면 떠날 수 없었다.</p> </blockquote> <p>종말록의 뒷 부분을 풀어 써보자면 다음과 같은 내용으로 해독할 수 있음이 자명하다.</p> <p>신이 분노했다고 생각한 메갈루지안 들은 제사를 지냈으나, “반역자 키엠-제인-요엉” 가 자신을 섬기지 않는 그들에게 재앙을 내렸다 라고 생각하지는 못했다.</p> <p>그 재앙이 일어난 직후, “위대한 모든 만물의 창조자 베타-이아 크주엔”은 종적을 감추었다. 자신이 어떠한 실수를 했는지 깨달았기 때문인지, 아니면 다른 이유가 있는지 우둔한 우리로써는 깨닫기 어렵지만, 위대한- 태초의 창조자인 그가 잠적을 감추었다는 것만은 분명한 사실로써 남아있다는 것이다.</p> <p>하지만 그것을 모르고 있던 메갈루지안들은 계속 메갈루젼 방식의 제사를 통해 “위대한 모든 만물의 창조자 베타-이아 크주엔”을 숭배했고, 결국 이에 격분한, 스스로 신이 된 “5의 반역자 키엠-제인-요엉”에 의해서 그 찬란했던 “개차 문화”가 매우 발달했던 문명인 메갈루젼 문명은 몰락하게 된다.</p> <p>그 후, “5의 반역자 키엠-제인-요엉”을 신으로 섬기는 박성원숭이와 아이들 문명이 생겨나게 되었다. 훗날 이 문명도 역시 금방 몰락하지만, 이 문명의 의의는 “메갈루젼 문명의 종말록”을 제작했다는 데에 큰 의의를 갖는다.</p> <p>위에서 말했듯이 메갈루젼 문명은 자연수에 힘이 있다고 믿었고, 신이 만든 자연스러운 숫자이자 동시에 인간을 구성하는 구성물이라고 생각했다. 요컨데, 자연수가 의미를 갖는다 라는 발상은 고대에서부터 시작되어 왔다라는 소리이다.</p> <p>배성경 조교는 자연수를 하나 하나 분해해서 분석하던 도중에 메갈루젼 문명과 비슷한 착안에서 시작된 자연수 분류법을 생각해 내었다.</p> <p>그 분류법을 이해하기 위해서는 먼저 월드 문명의 숫자 분류, 아니 의미 부여 체계에 대해서 알아야 할 필요성이 있다.</p> <p>월드 문명은 우리 현대인들과 비슷한 사고구조를 가지고 있었고, 실제로 현재 전해져 내려오는 고서들(예를 들면, 월드와 함께하는 정보올림피아드)을 통해서 그 시대에 사용했던 언어인 크올이아엔(korean)를 쉽게 해석할 수 있었기 때문이다.</p> <p>월드 문명은 수를 ‘분류’했다기 보다는, 수에게 의미를 부여했다. 자연수만 분류했던 메갈루젼 문명과는 다르게 월드 문명은 0을 포함해서 의미를 부여했다.</p> <p>숫자 0은 모든 것이 없다, 라는 의미로, 월드 문명에서는 “문제를 풀다 소스의 한 글자를 잘못 쓰면 받는 점수”라는 의미를 갖는다.</p> <p>숫자 1은 최초의 자연수로, “자연수의 최초”라는 의미로 “임페리얼”혹은 “위대한 수”이라고 부르며, 월드어의 <위대하다>라는 의미의 단어 “오메가-오엔-씨엠”과 같은 의미를 갖는다.</p> <p>숫자 2는 최초의 짝수로 “사람 둘이 모이면 스타 1:1을 할 수 있다.”라는 의미로 “starcraft number”라고 불렀다.</p> <p>숫자 3은 월드 문명의 초대왕 위대한자 임페리얼이 “나와”라고 말한 뒤에 주는 시간으로, “제한된, 규약인, 제한되어 있는”이라는 의미인 Most Valuable timelimit라고 불린다.</p> <p>숫자 4는 4명이 모이면 닭싸움을 한다는 숫자로, 그래서 chicken number, 혹은 꼬꼬댁수 라고 불린다.</p> <p>숫자 5는 월드 문명의 초대왕 위대한자 임페리얼을 표현할 때 마지막에 오는 글자로 “위대함을 마무리한다”라는 의미로 Last grand number라고 부른다.</p> <p>월드 문명의 대다수의 사람들은 미개한 문명수준과 매우 낮은 지능을 가지고 있어서 사칙연산조차 못하기 때문에 아주 극소수만 6이상에 의미를 부여했다고 알려져 있다.</p> <p>고로 6이상의 의미들은 중요치 않으므로 생략하도록 하겠다. (극소수에게만 중요하다.)</p> <p>배성경 조교의 숫자 분류 체계는 다음과 같다. 배성경 조교는 이면수와 임현수라는 숫자를 분류하는 방법을 생각해 내었다.</p> <p>어떤 숫자가 “이면수”이기 위해서는 다음과 같은 조건을 만족해야 한다. 메갈루젼 문명의 자연수 분류방식에 있던 “신이 태초부터 완성시켜져 있었던 계급[어비스 오엘 우테(absolute)]”에 속해 있어야 하고, 각 자릿수의 합이 홀수여야 한다.</p> <p>또한 어떤 숫자가 "임현수“이기 위해서는 그 숫자가 자체가 월드 문명의 chicken number 혹은 starcraft number이거나 합성수이면서 소인수 분해를 했을 때 소인수의 종류의 개수가 짝수개 이어야 한다.</p> <p>조교 배성경은 자신의 이름을 역사에 남기기 위해서 이면수도, 임현수도 아닌 숫자를 “성경수”라고 정의했다.</p> <p>어떤 숫자 N이 주어지면, 그 숫자를 분석한 결과를 출력하도록 한다.</p> <p>만약 그 숫자가 이면수라면 “1”라고 출력하고, 그 숫자가 임현수라면 “2”라고 출력한다. 주어진 수가 이면수도 임현수도 아닐 수 있는데 그럴 경우에는 배성경 조교가 정의한 대로 “3”를 출력한다. 혹은, 그 숫자가 이면수이면서 임현수이면 “4”를 출력하도록 한다.</p> ## 입력 <p>첫째 줄에는 문제에서 주어진 방식으로 분석해야 되는 자연수 N(1 ≤ N ≤ 2,700)이 주어진다.</p> ## 출력 <p>분석 결과를 첫 번째 줄에 출력한다.</p> ## 풀이 n이 5가 아닌 4 이상의 정수이면서, n의 자리수 합이 홀수면 이면수이다. n이 2 또는 4이거나, n의 소인수의 종류가 짝수개라면 임현수이다. ``` c++ #include<bits/stdc++.h> using namespace std; bool isOne(int n) { if(n<4 || n==5) return false; int sum=0; while(n) { sum += n%10; n /= 10; } return sum%2; } bool isTwo(int n) { if(n==1) return false; if(n==2 || n==4) return true; int cnt=0; for(int i=2;i<=n;i++) { if(n%i==0) { cnt++; while(n%i==0) n/=i; } } return cnt%2==0; } int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; bool a = isOne(n); bool b = isTwo(n); if(a && b) cout << 4; else if(a) cout << 1; else if(b) cout << 2; else cout << 3; } ```