ปีอธิกสุรทิน: หาร 400 ลงตัว หรือ (หาร 4 ลงตัว และ หาร 100 ไม่ลงตัว)
ตัวอย่าง
2000 → Leap (หาร 400 ลงตัว) 1900 → Not leap (หาร 100 ลงตัว แต่ไม่หาร 400) 2004 → Leap (หาร 4 ลงตัว, ไม่หาร 100) 2001 → Not leap
โค้ดตัวอย่าง
#include <stdio.h>
#include <stdbool.h>
bool is_leap(int year) {
return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
}
int main() {
int years[] = {2000, 1900, 2004, 2001, 2024};
for (int y : years)
printf("%d: %s\n", y, is_leap(y) ? "Leap year" : "Not leap year");
return 0;
}
ผลลัพธ์
2000: Leap year 1900: Not leap year 2004: Leap year 2001: Not leap year 2024: Leap year