※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 10407번 문제인 2 타워이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/10407 

 

10407번: 2 타워

2 타워의 높이 H는2222에서 숫자 2가 나타나는 횟수로 정의된다. 2 타워의 값은 해당 표현식의 값으로 정의된다. 예를 들어, 높이 1의 2 타워 값은 2이고, 높이 2의 2 타워

www.acmicpc.net

 

2의 짝수 거듭제곱은 4의 거듭제곱의 형태로 항상 바꿔쓸 수 있다. 4는 3+1과 같으므로 4의 거듭제곱, 쯕 2의 짝수 거듭제곱은 3으로 나눈 나머지가 항상 1이 됨을 관찰하자.

 

높이가 2 이상인 2 타워는 항상 2의 짝수 거듭제곱의 형태로 정리할 수 있으므로 문제의 답은 H가 1인 경우 2, 그 외의 경우 1임을 알 수 있다.

 

위의 내용을 구현해 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

string s;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> s;
	if (s == "1") cout << 2;
	else cout << 1;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 25823 // C++] 조합의 합의 합  (0) 2024.03.30
[BOJ 26090 // C++] 완전한 수열  (0) 2024.03.29
[BOJ 10357 // C++] Triples  (0) 2024.03.27
[BOJ 14244 // C++] 트리 만들기  (0) 2024.03.26
[BOJ 23128 // C++] Math  (0) 2024.03.25

+ Recent posts