九层之台,起于垒土,你我皆是垒土人✔
愿我的文章对你有所帮助!
欢迎===关注===点赞===评论,共同学习,共同进步!
一、题目(填空题)
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020年 10 月 1日周四(含)。请问这段时间小蓝总共跑步多少千米?
题外话:多多跑步的确是对个人身体素质和精神面貌作用比较大的,还能一定程度上变帅和提升素质,俺大一大二就跑了挺多步,最多的时候一个月240多公里,也就是平均每天8公里,最多的时候一天早中晚跑了17公里,有的时候是真的拿命跑,无比痛苦,却又畅快!!
校运会因为一点意外最后没参加,如果参加5000米拿个本科组前三问题不大。愿你我永远在路上!
一张图纪念自己曾经挥洒无数汗水的跑步!
解题思路:1 、本题看似简单,实际上不仔细推敲和思考也是颇有味道的,我也是参考了部分他人答案分析出来的。
2、需要注意的几个隐含条件:
- 平年闰年的区分
- 闰年2月为29天,平年28天
- 1、3、5、7、8、 10、 12月为31天
- 月初和周一都是跑两公里
tip:因为有一个地方搞错了参数,导致我的答案一直有偏差,哭死,后来bug找到了!
代码实现:
public static void main(String args[]) {
int RunDistance=0;
int Start=6;//开始日期为周六
int Months[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//月份天数赋值
for (int Years= 2000; Years <=2020; Years++)
{
if(Years%4==0&&Years%100!=0||Years%400==0)
Months[1]=29;//闰年2月28天
else
Months[1]=28;
for(int x=0;x<12;x++) {
for (int Days = 1; Days <=Months[x]; Days++) {
if(Start==8)//如果是周八,就是周一
{
Start=1;
}
if (Start ==1 || Days == 1) {//当满足周一或月初的条件就跑两公里
RunDistance +=2;
}
else
RunDistance += 1;
Start++;
if (Years==2020 && x==9&&Days==1)//到时间了
{
System.out.println(RunDistance);
break;
}
}
}
}
//System.out.println(RunDistance);
}
发文不易,恳请大佬们高抬贵手!
点赞:随手点赞是种美德,是大佬们对于本人创作的认可!
评论:往来无白丁,是你我交流的的开始!
收藏:愿君多采撷,是大佬们对在下的赞赏!