본문 바로가기

dev/C#

C#, asp.net 윤년계산기

반응형
윤년 규칙

 

지구가 태양을 한 바퀴 도는 데 걸리는 시간이 365일 정확히 맞지 않기 때문에, 이 차이를 보정하기 위해 4년마다 2월에 하루를 더하는 해를 윤년이라고 합니다. 하지만 100으로 나누어 떨어지는 해는 윤년에서 제외하고, 400으로 나누어 떨어지는 해는 다시 윤년으로 포함시키는 규칙이 있습니다.

  • 4로 나누어 떨어지면서 100으로 나누어 떨어지지 않는 조건
  • 400으로 나누어 떨어지면 윤년
using System;

namespace LeapYear
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("연도를 입력하세요: ");
            int year = int.Parse(Console.ReadLine());

            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
            {
                Console.WriteLine($"{year}년은 윤년입니다.");
            }
            else
            {
                Console.WriteLine($"{year}년은 평년입니다.");
            }
        }
    }
}
  1. year % 4 == 0 && year % 100 != 0: 4로 나누어 떨어지고 100으로 나누어 떨어지지 않으면 윤년
  2. year % 400 == 0: 400으로 나누어 떨어지면 윤년 위 두 조건 중 하나라도 만족하면 윤년, 아니면 평년
C# 함수 사용
using System;

namespace LeapYear
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("연도를 입력하세요: ");
            int year = int.Parse(Console.ReadLine());

            if (DateTime.IsLeapYear(year))
            {
                Console.WriteLine($"{year}년은 윤년입니다.");
            }
            else
            {
                Console.WriteLine($"{year}년은 평년입니다.");
            }
        }
    }
}
코드 설명
  • DateTime.IsLeapYear(year) 메서드 : 입력받은 연도가 윤년인지 판별하는 메서드입니다.
  • 조건문 : IsLeapYear 메서드의 결과에 따라 윤년 또는 평년을 출력합니다.
반응형