Cách tính năm nhuận – Lập trình kiểm tra năm nhuận trong Python và C++

Năm nhuận là một khái niệm trong lịch, đặc biệt trong việc tính toán thời gian. Để hiểu về năm nhuận, bạn cần biết rằng năm dương lịch gồm 365 ngày và 6 giờ, nhưng một năm lịch sự như năm nhuận có 366 ngày. Điều này được thực hiện để đảm bảo sự đồng nhất của lịch với mùa và các sự kiện thiên văn. Quy tắc cơ bản để xác định năm nhuận là năm chia hết cho 4 là năm nhuận. Tuy nhiên, năm chia hết cho 100 không phải lúc nào cũng là năm nhuận, nhưng năm chia hết cho 400 lại là năm nhuận. Việc biết về năm nhuận quan trọng trong lập trình và trong cuộc sống hàng ngày, giúp xác định ngày và thời gian một cách chính xác.

Cách tính năm nhuận

Năm nhuận là năm có một ngày extra, tức là năm có 366 ngày thay vì 365 ngày như trong năm không nhuận. Để xác định xem một năm có phải là năm nhuận hay không, bạn có thể sử dụng các quy tắc sau:

  1. Một năm chia hết cho 4 là năm nhuận (2004, 2008, 2012, v.v. là năm nhuận).
  2. Nhưng một năm chia hết cho 100 không phải là năm nhuận (1900, 2100, v.v. không phải là năm nhuận).
  3. Tuy nhiên, nếu năm chia hết cho 400, thì năm đó vẫn là năm nhuận (2000, 2400, v.v. vẫn là năm nhuận).
Read:   Tính S(n) = 1 + ½ + 1/3 + … + 1/n Lập trình bằng Python và C++

Dưới đây là một ví dụ về cách kiểm tra xem một năm có phải là năm nhuận hay không bằng ngôn ngữ lập trình Python và C++

Kiểm tra năm nhuận bằng Python












def is_leap_year(year):
    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
        return True
    else:
        return False

# Sử dụng hàm để kiểm tra
year = 2024
if is_leap_year(year):
    print(f"{year} là năm nhuận.")
else:
    print(f"{year} không phải là năm nhuận.")

Hàm is_leap_year(year) kiểm tra xem một năm year có phải là năm nhuận hay không bằng cách áp dụng các quy tắc đã nêu ở trên. Nếu năm là năm nhuận, hàm trả về True, ngược lại trả về False.

Kiểm tra năm nhuận bằng C++

























#include <iostream>

bool isLeapYear(int year) {
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
        return true;
    } else {
        return false;
    }
}

int main() {
    int year;

    // Nhập năm từ người dùng
    std::cout << "Nhập năm: ";
    std::cin >> year;

    if (isLeapYear(year)) {
        std::cout << year << " là năm nhuận." << std::endl;
    } else {
        std::cout << year << " không phải là năm nhuận." << std::endl;
    }

    return 0;
}

 

Hình đại diện của người dùng

admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *