별의 공부 블로그 🧑🏻‍💻
728x90
728x170

문제

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때 이다.

예를들어, 2012년은 4의 배수라서 윤년이지만, 1900년은 4의 배수이지만, 100의 배수이기 때문에 윤년이 아니다.

하지만, 2000년은 400의 배수이기 때문에 윤년이다.

 

 

입력

첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다.

 

 

출력

첫째 줄에 윤년이면 1, 아니면 0을 출력한다.

 

 

예제 입력 1

 2000

 

예제 출력 1

 1

 

 

코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
int main() {
    int year;
    int isLY = 0;
    
    cin >> year;
    
    // check1 : 400의 배수일 때
    if (year % 400 == 0) {
        isLY= 1;
    }
    else {
        // check2 : 4의 배수이면서 100의 배수가 아닐 때
        if ((year % 4 == 0&& (year % 100 != 0)) {
            isLY = 1;
        }
    }
    
    cout << isLY << endl;
    
    return 0;
}


 


윤년 (Leap Year)

1. 연도가 400의 배수 일 때

2. 연도가 4의 배수이면서 100의 배수가 아닐 때


 우선 입력을 받은 수(연도)가 400의 배수인지 체크를 한 후, 맞으면 1을 아니면 0을 출력한다. 수가 400의 배수가 아닐 경우 4의 배수이면서 100의 배수인지 아닌지 확인만 하면 끝! if문을 이용하여 정말 간단하게 풀었던 문제였다.


728x90
그리드형(광고전용)

'Problem Solving > BaekJoon Online Judge' 카테고리의 다른 글

[BOJ1712][C++] 손익분기점  (0) 2020.10.24
[BOJ1193][C++] 분수 찾기  (0) 2020.10.24
[BOJ2693][C++] N번째 큰 수  (0) 2020.06.19
[BOJ2947][C++] 나무 조각  (0) 2020.06.05
[BOJ1181][C++] 단어 정렬  (2) 2018.11.17
[BOJ16430][C++] 제리와 톰  (0) 2018.11.13
[BOJ1748][C++] 수 이어 쓰기 1  (0) 2018.10.03
[BOJ2884][C++] 알람 시계  (0) 2018.10.03
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖