※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 5346번 문제인 Frodo Sequence이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/5346
5346번: Frodo Sequence
he input will be a sequence of integers, one per line. The end of input will be signaled by the integer 0. All integers, other than the last (zero), are positive and less than 231.
www.acmicpc.net
주어진 수열의 각 항을 직접 구해보면 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, ...과 같이 나가는 것을 관찰할 수 있다. 즉 \(Fro_i\)는 (i+1)/2로 계산할 수 있음을 알 수 있다. (여기서 '/'는 나눗셈의 몫을 나타낸다.) 이를 이용해 문제를 해결하자.
위의 관찰된 성질의 증명은 수학적 귀납법을 이용해 간단히 할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
while (N) {
cout << (N + 1) / 2 << '\n';
cin >> N;
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 17264 // C++] I AM IRONMAN (0) | 2022.12.24 |
---|---|
[BOJ 13698 // C++] Hawk eyes (0) | 2022.12.24 |
[BOJ 26711 // C++] A+B (0) | 2022.12.23 |
[BOJ 26516 // C++] Mutint (0) | 2022.12.23 |
[BOJ 20112 // C++] 사토르 마방진 (0) | 2022.12.23 |