본문 바로가기
백준 알고리즘 코딩

[C언어] 백준 2753번 윤년

by 1005_ 2025. 3. 24.

[ 문제 ]

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

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

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

[ 입력 ]

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

[ 출력 ]

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

[ 작성한 코드 ]

#include <stdio.h>

int main()
{
    int year;

    scanf("%d",&year);

    if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
    {
        printf("1");
    }
    else
    {
        printf("0");
    }
}

 

알고리즘 분류

  • 수학
  • 구현
  • 사칙연산