이 튜토리얼에서는 입력받은 연도가 몇 번째 세기에 해당하는지 계산하는 C++ 프로그램을 살펴보겠습니다.
프로그램의 목표는 하나의 연도 값이 주어졌을 때, 해당 연도가 속한 세기를 정확히 판별하는 것입니다. 예를 들어 2001년이 입력되면 21세기임을 알려주는 방식입니다.
세기 계산 원리
세기를 계산하는 기본 규칙은 다음과 같습니다.
- 1년부터 100년까지는 1세기입니다.
- 101년부터 200년까지는 2세기입니다.
- 연도를 100으로 나눈 몫에, 나머지가 존재하면 1을 더한 값이 세기가 됩니다.
즉, 연도가 100으로 나누어 떨어지면 year / 100이 곧 세기이고, 그렇지 않으면 year / 100 + 1이 세기입니다.
예제 코드
#include <bits/stdc++.h>
using namespace std;
void find_century(int year){
// 연도는 양수만 허용됩니다
if (year <= 0)
cout << "0 또는 음수는 연도로 사용할 수 없습니다";
else if (year <= 100)
cout << "1세기\n";
else if (year % 100 == 0)
cout << year / 100 << "세기";
else
cout << year / 100 + 1 << "세기";
}
int main(){
int year = 2001;
find_century(year);
return 0;
}
실행 결과
21세기
코드 설명
find_century 함수는 다음 순서대로 조건을 검사합니다.
- 연도가 0 이하이면 유효하지 않은 입력으로 처리합니다.
- 연도가 100 이하라면 1세기입니다.
- 연도가 100으로 나누어 떨어지면(예: 1900년)
year / 100이 바로 세기입니다. - 그 외의 경우에는
year / 100에 1을 더해 세기를 구합니다.
위 예제에서는 2001년을 입력했습니다. 2001을 100으로 나누면 몫은 20이고 나머지가 남으므로, 20 + 1 = 21세기가 출력됩니다.