C++程序 检查闰年

C++程序 检查闰年

什么是闰年?

一年有366天是闰年。

如何判断一年是否为闰年:

当以下条件满足时,该年为闰年:

  1. 年份是400的倍数。
  2. 年份是4的倍数且不是100的倍数。

C++程序 检查闰年

以下是伪代码:

如果年份是400的倍数,则是闰年
否则,如果年份是100的倍数,则不是闰年
否则,如果年份是4的倍数,则是闰年
否则,不是闰年

示例:

// C++ program to check if a given 
    // year is a leap year or not 
    #include <bits/stdc++.h>
    using namespace std; 
    bool checkYear(int year) 
    { 
        // If a year is multiple of 400, 
        // then it is a leap year 
        if (year % 400 == 0) 
            return true; 
        // Else If a year is multiple of 100, 
        // then it is not a leap year 
        if (year % 100 == 0) 
            return false; 
        // Else If a year is multiple of 4, 
        // then it is a leap year 
        if (year % 4 == 0) 
            return true; 
        return false; 
    } 


    // Driver code 
    int main() 
    { 
        int year = 2000; 
        checkYear(year) ? cout << "Leap Year": 
                          cout << "Not a Leap Year"; 
        return 0; 
    }  

输出:

闰年

时间复杂度: 由于程序中只有if语句,因此其时间复杂度为O(1)。

辅助空间: O(1)

如何用一行代码编写上述代码?

// C++ program to check if a 
    // given year a leap year or not
    // with One-liner expression
    #include <bits/stdc++.h>
    using namespace std;
    bool checkYear(int year)
    {
       // Return true if the year is a multiple
       // 0f 4 and not multiple of 100.
       // OR year is multiple of 400.
       return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));
    }
    // Driver code
    int main()
    {
      int year = 2000;
      checkYear(year)? 
      cout << "Leap Year":
      cout << "Not a Leap Year";
      return 0;
    }  

输出:

闰年

时间复杂度: 由于程序中只有if语句,因此其时间复杂度为O(1)。

辅助空间: O(1)

如果年份是闰年,则程序输出1,否则输出0。

// C++ implementation to check 
    // if the year is a leap year 
    // using macros
    #include <iostream>
    using namespace std;
    // Macro to check if a year 
    // is a leap year
    #define ISLP(y) ((y % 400 == 0) ||
    (y % 100 != 0) && (y % 4 == 0))
    // Driver Code
    int main()
    {
      int year = 2020;
      cout << ISLP(year) << "";
      return 0;
    }  

输出:

闰年

时间复杂度: 由于程序中只有if语句,因此其时间复杂度为O(1)。

辅助空间: O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例