문제 |
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. |
입력 |
첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. |
출력 |
첫째 줄에 윤년이면 1, 아니면 0을 출력한다. |
#include<stdio.h> int main() { int a; scanf("%d", &a); if(a>=1 && a<=4000){ if(((a%4 == 0) && (a % 100 != 0)) || a % 400 == 0) printf("1"); else printf("0"); } } |
윤년의 경우 위의 조건과 같이 4의 배수이고 100의 배수가 아닐때와 400의 배수일때 조건들을 한번에 만족해야 한다.
&& 은 두가지 조건을 모두 만족할 경우를 표현한다
|| 은 OR 로 앞의 조건을 만족하거나 다음의 조건을 만족하면 참 값이다.
Git |
BaekJoon-Study/2753.c at C · GUuu9/BaekJoon-Study (github.com) |
'백준 코드 공부 > C언어' 카테고리의 다른 글
백준 2884 : 알람시계 (C언어) (0) | 2021.10.30 |
---|---|
백준 14681 : 사분면 고르기 (C언어) (0) | 2021.10.30 |
백준 9498 : 시험성적 (C언어) (0) | 2021.10.25 |
백준 1330 : 두 수 비교하기 (0) | 2021.10.23 |
백준 2588 : 곱셉 (C언어) (0) | 2021.10.23 |