题目描述
有一只小鱼,它平日每天游泳 250 公里,周末休息(实行双休日),假设从周 x(1≤x≤7) 开始算起,过了 n(n≤106) 天以后,小鱼一共累计游泳了多少公里呢?
Python解答
解答1
- 不循环,用 if 语句判断。
- 利用总天数Days,求出整周的工作日天数 WorkDays,以及及剩余天数 RestDays。WorkDays乘250公里。
- 利用开始的那一天Start,加上剩余天数RestDays,判断这些天里是否有周末。
- 判断 1)如果开始天数加上剩余天数为7,或者开始的那一天为7,那么认为休息一天。剩余天数RestDays减一。
- 判断 2)如果开始天数加上剩余天数大于等于8,那么认为休息两天。剩余天数RestDays减二。
- WorkDays乘250公里,加上剩余天数乘250公里。
- # -*- coding: utf-8 -*-
- # @Time : 2019/10/31 17:27
- # @Author : 小晓酱
- # @File : luoguu.py
- # @Software: PyCharm
-
- Start, Days = (int(i.strip()) for i in input().split())
- WorkDays = Days // 7 * 5
- RestDays = Days % 7
- if RestDays != 0:
- if RestDays + Start == 7 or Start == 7:
- RestDays -= 1
- elif RestDays + Start >= 8:
- RestDays -= 2
- Distance = (WorkDays + RestDays) * 250
- print(Distance)
解答2
- 常规解法。当天数不能被6或7整除时,总数加250。
- # -*- coding: utf-8 -*-
- # @Time : 2019/10/31 17:27
- # @Author : 小晓酱
- # @File : luoguu.py
- # @Software: PyCharm
-
- Start, Days = (int(i.strip()) for i in input().split())
- Distance = 0
- for i in range(Start, Start + Days):
- if i % 7 != 0 and i % 7 != 6:
- Distance += 250
- print(Distance)