# Conditional Statements# Modulo Operator

d067 - 格瑞哥里的煩惱 (1 行版)

🔗 前往 ZeroJudge 原題

題目描述

題目要求判斷給定的年份是否為閏年,並根據格里曆的規則輸出 "a leap year" 或 "a normal year"。格里曆的閏年規則為:能被4整除但不能被100整除的年份,以及能被400整除的年份,都是閏年。

解題思路

程式碼使用條件判斷式來檢查年份是否符合閏年的條件。首先檢查年份是否能被4整除,如果能,則進一步檢查是否能被100整除。如果能被4整除但不能被100整除,則為閏年。如果能被100整除,則需要檢查是否能被400整除。如果能被400整除,則為閏年。否則,為平年。

複雜度分析

  • 時間複雜度: O(1)
  • 空間複雜度: O(1)

程式碼

#include <iostream>

using namespace std;

int main (){
	
	int y=0;
	while(cin >> y){
		if(y%4==0&&y%100!=0){
			cout << "a leap year" <<endl;
		}
		else if(y%400==0){
			cout << "a leap year" <<endl;
		}
		else{
			cout << "a normal year" <<endl;
		}
	}
	
	
}

Discussion