fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 10407 (C++) 2 타워
최초 업로드: 2025-11-15 15:44:16
최근 수정 시간: 2025-11-15 15:44:16
게시자: rlatjwls3333
카테고리: 백준
조회수: 6
# [Silver III] 2 타워 [문제 링크](https://www.acmicpc.net/problem/10407) ## 문제 설명 <p>2 타워의 높이 H는\[2^{2^{2^{\cdot^{\cdot^{\cdot 2}}}}}\]에서 숫자 2가 나타나는 횟수로 정의된다. 2 타워의 값은 해당 표현식의 값으로 정의된다. 예를 들어, 높이 1의 2 타워 값은 2이고, 높이 2의 2 타워 값은 4이며, 높이 4의 2 타워 값은\[2^{2^{2^{2}}} = 65536\]이므로 높이 5의 2 타워 값은 2<sup>65536</sup>이며 이 값은 2003...6736이고 다 쓰기에는 여백이 부족하다.</p> <p>H의 값이 커짐에 따라 2 타워의 값이 너무 커지므로, 우리는 이 값을 3으로 나눈 나머지만이 궁금하다.</p> ## 입력 <p>입력의 첫째 줄에 높이 H가 주어진다. (1 ≤ H ≤ 10<sup>100</sup>)</p> ## 출력 <p>첫째 줄에 높이가 H인 2 타워의 값을 3으로 나눈 나머지를 출력하라.</p> ## 풀이 $2^1$인 경우 3으로 모듈러 연산을 했을 때 2이고 나머지는 1의 N제곱 꼴이기 때문에 전부 1입니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); string s; cin >> s; cout << (s=="1" ? 2 : 1); } ```