06
23
728x90

문제 :

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

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

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

 

입력 :

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

 

출력 :

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

 

예제 입력1 :

2000

 

예제 출력1 :

1

예제 입력2 :

1999

 

예제 출력2 :

0

 

코드 입력 :

import java.util.Scanner;

public class Main 
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		int num1 = sc.nextInt();
		if(num1>=1 && num1<=4000)
		{
			if(num1%4 ==0)
			{
				if(num1%100 !=0 || num1%400 ==0)
				{
					//윤년
					System.out.println("1");
				}
				else
				{
					//윤년이 아님
					System.out.println("0");
				}
			}
			else
			{
				//윤년이 아님
				System.out.println("0");
			}
		}
		else
		{
			System.out.println("다시입력해주세요.");
		}
	}
}

출력 결과1
출력 결과2

728x90

'백준 > JAVA' 카테고리의 다른 글

[JAVA/백준] 알람시계-2884번  (0) 2021.06.25
[JAVA/백준] 사분면 고르기-14681번  (0) 2021.06.25
[JAVA/백준] 시험성적-9498번  (0) 2021.06.22
[JAVA/백준] 두 수 비교하기-1330번  (0) 2021.06.21
[JAVA/백준] 곱셈-2588번  (0) 2021.06.14
COMMENT