题目:
- 每日 06:00 - 21:00,起步价6元,当日 22:00 - 次日 05:00,起步价7元。
- 起步价包含2公里,超出部分按照每公里 1.5 元收费。
- 每次乘车加收 1 元 的燃油附加税
输出打车的时间和距离,计算本次打车的费用。
一、解题思路:
1)方法一:
-
将时间段分为三个:
- 00:00 - 05:00, 起步价7元
- 06:00 - 21:00, 起步价6元
- 22:00 - 24:00,起步价7元
-
定义三个变量
- 时间
$time
- 距离
$distance
- 费用
$const
- 时间
-
每个时间段的费用
-
00:00 - 05:00
起步价7元
① 距离 <= 2,费用 = 起步价7元 + 燃油附加税1元;
$const = 8; // 7+1
② 距离 > 2, 费用 = 起步价7元 + (距离 - 2) * 1.5元/km + 燃油附加税1元
$const = 7 + ($distance -2) * 1.5 + 1;
-
06:00 - 21:00
起步价6元
① 距离 <= 2,费用 = 起步价6元 + 燃油附加税1元;
$const = 7; // 6+1
② 距离 > 2,费用 = 起步价6元 + (距离 - 2)* 1.5元/km + 燃油附加费1 元;
$const = 6 + ($distance - 2) * 1.5 + 1;
-
22:00 - 24:00
起步价7元
① 距离 <= 2,费用 = 起步价7元 + 燃油附加税1元;
$const = 8; // 7+1
② 距离 > 2, 费用 = 起步价7元 + (距离 - 2) * 1.5元/km + 燃油附加税1元;
$const = 7 + ($distance - 2) * 1.5 + 1;
-
2)方法二:
-
将时间段分为三个:
- 00:00 - 05:00, 起步价7元
- 06:00 - 21:00, 起步价6元
- 22:00 - 24:00, 起步价7元
-
定义三个变量
- 时间
$time
- 距离
$distance
- 费用
$const
- 时间
-
每个时间段的费用(可以把 00:00- 5:00 和 22:00 - 24:00 合到一起计算,因为起步价相同)
-
00:00- 5:00 和 22:00 - 24:00
起步价7元
</
-