藍橋杯 基礎練習 閏年判斷 C/C++/Java/Python描述
大家好,我叫亓官劼(qí guān jié )
題目
資源限制
時間限制:1.0s 記憶體限制:256.0MB
問題描述
給定一個年份,判斷這一年是不是閏年。
當以下情況之一滿足時,這一年是閏年:
- 年份是4的倍數而不是100的倍數;
- 年份是400的倍數。
其他的年份都不是閏年。
輸入格式
輸入包含一個整數y,表示目前的年份。
輸出格式
輸出一行,如果給定的年份是閏年,則輸出yes,否則輸出no。
說明:當試題指定你輸出一個字元串作為結果(比如本題的yes或者no,你需要嚴格按照試題中給定的大小寫,寫錯大小寫将不得分。
樣例輸入
2013
樣例輸出
no
樣例輸入
2016
樣例輸出
yes
資料規模與約定
1990 <= y <= 2050。
C/C++解法
我們直接進行判斷輸出,注意這裡的cout後面的條件運算符要在外面加
()
,題解代碼為:
#include <iostream>
using namespace std;
int main(){
int y;cin>>y;
cout<<((y%4 == 0 && y%100 !=0) || (y%400 == 0) ? "yes" : "no");
return 0;
}
Java解法
邏輯與C/C++一緻,我們直接輸出即可,完整題解代碼為:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int year = scanner.nextInt();
System.out.println(((year%4 == 0 && year%100 !=0) || (year%400 == 0) ? "yes" : "no"));
}
}
Python解法
year = int(input())
if (year%4 == 0 and year%100 != 0) or (year%400 == 0):
print("yes")
else:
print("no")