#17. 백준 2753번 문제 풀이: 윤년 문제 원본 보기
연도를 입력받아 윤년이면 1, 아니면 0을 출력 윤년은 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
입력/출력
--입력--
2000
--출력--
1
--입력--
1999
--출력--
0
문제풀이+해설
if 문을 이용해 윤년의 조건식을 만드는 게 핵심이다.
위 조건을 식으로 쓰면
 ---
 4의 배수 : (y%4)==0 :4로 나누어 떨어짐(나머지가 없음)
 100의 배수가 아닐 때: (y%100)!=0 :100으로 나누어 떨어지지 않음.
 또는 400의 배수일 때: (y%400)==0 : 400으로 나누어 떨어짐
 --
식을 연결하면 (((y%4)==0 and (y%100)!=0) or (y%400)==0) 가 된다. 

C 언어 수식으로 쓰면, and가 &&, or가 || 로 변경해서 쓰면 된다. if(((y%4)==0 && (y%100)!=0) || (y%400)==0) { }
code sol.
#include <stdio.h>

int main() {
  int y;
  scanf("%d", &y); // 값을 정수로 입력받아 대입

  // 윤년 공식대로 조건을 구현
  if(((y%4)==0 && (y%100)!=0) || (y%400)==0) {
    puts("1"); // 조건이 참이면 윤년
  } else {
    puts("0"); // 조건이 거짓이면 윤년이 아니다.
  }
  return 0;
}    
© 코드솔 - CodeSol. All Rights Reserved.