蓝桥杯真题含 2 天数
Posted 蔚尺丈八声
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯真题含 2 天数相关的知识,希望对你有一定的参考价值。
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main
public static void main(String[] args)
/*
思路:暴力搜索
先将所有年份看作是(平年),计算一个平年的月日中出现多少个2,
然后计算所有平年的年一共 出现多少个2,此时所有平年的年月日出现2
的个数=所有平年的年出现2的个数+一个平年的月日出现2的个数*平年的个数
然后加上闰年,即计算闰年的月日的那个多出的2月29日出现了两个2,
那么所有闰年的月日出现2的个数=所有闰年的个数*2
这里注意判断闰年的条件:
闰年:
(1)四年一闰百年不闰:即如果year能够被4整除,但是不能被100整除,则year是闰年。
(2)每四百年再一闰:如果year能够被400整除,则year是闰年。
比如,1900年不是闰年,因为1900不能被400整除((2)的条件包含了(1)),但是2000年是闰年。
需要排除特殊条件。
可以参考:
https://blog.csdn.net/m0_46630468/article/details/119254300
所以总的2的个数=所有平年的年出现2的个数+一个平年的月日出现2的个数*平年的个数+所有闰年的个数*2
由于每个月的天数不一样,可以预先用一个数组保存一个平年12个月的各个月的天数,计算月日遍历该数组即可。
*/
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
scan.close();
以上是关于蓝桥杯真题含 2 天数的主要内容,如果未能解决你的问题,请参考以下文章
蓝桥杯省赛真题33Scratch奥特曼大战怪兽 少儿编程scratch蓝桥杯省赛真题讲解