艺术与篮球-19937
题目:
小蓝出生于一个艺术与运动并重的家庭中。
妈妈是位书法家,她希望小蓝能通过练习书法,继承她的艺术天赋,并练就一手好字。爸爸是一名篮球教练,他希望小蓝能通过篮球锻炼身体,培养运动的激情和团队合作的精神。
为了既满足妈妈的期望,又不辜负爸爸的心意,小蓝决定根据日期的笔画数来安排自己的练习。首先,他会将当天的日期按照“YYYYMMDD”的格式转换成一个8位数,然后将这8位数对应到汉字上,计算这些汉字的总笔画数。如果总笔画数超过50,他就去练习篮球;如果总笔画数不超过50,他就去练习书法。
例如,在2024年1月1日这天,日期可表示为一个8位数字20240101,其转换为汉字是"二零二四零一零一”。日期的总笔画数为2+13+2+5+13+1+13+1=50,因此在这天,小蓝会去练习书法。
一下是汉字的笔画数对照表:
| 汉字 | 笔画数 |
|---|---|
| 零 | 13 |
| 一 | 1 |
| 二 | 2 |
| 三 | 3 |
| 四 | 5 |
| 五 | 4 |
| 六 | 4 |
| 七 | 2 |
| 八 | 2 |
| 九 | 2 |
现在,请你帮助小蓝统计一下,在2000年1月1日到2024年4月13日这段时间内,小蓝有多少天是在练习篮球?
解题思路:
这道题目主要意思是从2000年1月1日~2024年4月13日期间,把年月日转换成汉字后总笔画数>50就去练篮球。求共有多少个满足条件的日期。 思路: 涉及到日期题目就要联想到数组、遍历、润平年… 要定义一个值为每个月具体天数的数组; 题目中要把日期转换成汉字的话,那肯定要定义一个值为笔画数的汉字数组。 定义一个方法判断闰平年–>{闰年:(year%400==0)||(year %4==0&&year%100!=0)} 定义两个变量,用于给汉字日期相加和满足条件的日期++。 三层循环(分别表示年月日),再在循环里定义8个变量(用于取日期上每一个数字)。 然后就是在if判断转换后的汉字日期总笔画数是否>50,满足就++ 最后就是加一个判断条件:当日期满足2024-4-13就输出并且return;
最后的if判断语句的结束语句为什么不用break;而是用return;?
因为break是结束当前循环(day的循环),return是终止当前方法的执行。它是终止solve()整个方法.
最终代码:
|
|
也可以不用写solve()方法,直接在main写也行。