19. 最小乘车费用

题目描述

上海市的出租车计价规则是这样的:不考虑延时等待的问题,起步费为11元,可以行驶3公里;接下来的7公里,每公里为2元;如果路途总距离超过10公里,则剩余的路程为每公里3元。不到1公里时,按照1公里计算(本题全部为整数,不存在小数)。

有一些精明的乘客发现,可以采用适当的中途换车策略来节省费用。比如路程一共有26公里,则可以分为三段,乘完10公里花费25元;然后下车换一辆再乘10公里,又花费25元;再次下车换一辆乘最后6公里花费17元,则总共花费67元;而如果一直不换车,直接按照计费规则,则需要73元。

现在给你一个路程的长度(总是>=0),请计算最少的车费是多少。

输入输出格式

输入格式

一个整数,表示公里数。

输出格式

一个整数,表示乘车费用,保证数据不超过int类型。

输入输出样例

输入样例1
2
输出样例1
11
输入样例2
12
输出样例2
31
输入样例3
0
输出样例3
0

说明

样例1

2公里,仍在起步费范围内

样例2

不能换车

样例3

未乘车,不用付费

题解

水题~
总共13行代码~
只要理解内涵并if else灵活运用就可以了~
下面给出两行核心代码,准确来说是难想代码~
(唯一缺点就是代码骚气了点~)
(闲得没事干,非要写得精简一点~)

核心代码

第10~11行:

	else if(n%10<=5)printf("%d",n/10*25+(n%10)*3);
	else printf("%d",n/10*25+2*(n%10)+5);

可以在我的资源中找到全部代码以及详细注释哦~

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ponny毅

只要你愿意,只要你有钱,啥都行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值