题目描述

某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里;接下来的4公里,每公里2元;之后每公里2.4元。行程的最后一段即使不到1公里,也当作1公里计费。
一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小。
例如,整个行程为16公里,乘客应该将行程分成长度相同的两部分,每部分花费18元,总共花费36元。如果坐出租车一次走完全程要花费37.2元。
现在给你整个行程的公里数,请你计算坐出租车的最小花费。

输入

输入包含多组测试数据。每组输入一个正整数n(n<10000000),表示整个行程的公里数。
当n=0时,输入结束。

输出

对于每组输入,输出最小花费。如果需要的话,保留一位小数。
样例输入

3
9
16
0

样例输出

10
20.4
36

思路

整道题看起来是编程其实是用数学知识找规律,我们先将所有的情况以及费用算出来再去找规律会好些
1.当里程数x<=4时,cost = 10;
2.当里程数4<x<=8时,cost = 2x+2;
3.当里程数x>8时,cost = 2.4x-1.2;
通过里程数花费我们可以知道应该将里程分为一个个5-8的小里程,这样才能省钱,可以发现,当x=5时,平均的里程花费变为2.4元,之后随着x的增大,平均花费不断减少,当x=9时又增多,然后不断趋近于2.4.
这里我们可以看出,当x=8时,平均里程花费是最少的,所以我们应该尽量把总里程划分为一段段8,8,8,8…的小里程,然后对余数进行处理
1.当余数y<=5时,可以发现平均花费最少为2.4元每公里,不值得划分成单独的里程,所以让它和前面的一段里程合起来计算
2.当y>5时,平均花费少于2.4,这时将它作为一段单独的里程计算就好
最后处理一下题目要求的结果小数点位数问题即可

解答

#include<cstdio>int main(void){int K;double cost;scanf("%d",&K);while(K != 0){if(K/8 == 0){if(K <= 4) cost = 10;else cost = 2*K + 2;printf("%.0lf\n",cost);}else{if(K%8 < 5){if(K%8 == 0){cost = 18*(K/8);printf("%.0lf\n",cost);}else{cost = 18*(K/8 - 1) + 2.4*(K%8 + 8) - 1.2;printf("%.1lf\n",cost);}}else{cost = 18*(K/8) + 2*(K%8)+2;printf("%.0lf\n",cost);}}scanf("%d",&K);}
}

【codeup】1128 Problem B 出租车费相关推荐

  1. codeup 1128: 出租车费 贪心|找规律

    1128: 出租车费 时间限制: 1 Sec 内存限制: 32 MB 提交: 871 解决: 299 [提交][状态][讨论版][命题人:外部导入] 题目描述 某市出租车计价规则如下:起步4公里10元 ...

  2. 某天没有数据能查出来0数量_用Excel对纽约市出租车费数据探索性分析

    一.引言 背景:在纽约,游客们往往把自由女神象.帝国大厦.中央公园等视为纽约的象征, 但穿梭在人海中的出租车也是纽约靓丽的人文景观之一, 是其流动的风景线, 在纽约公共文化中别具魅力.本篇文章利用之前 ...

  3. 贪心入门——出租车费

    问题 B: 出租车费 时间限制: 1 Sec 内存限制: 32 MB 提交: 6 解决: 6 [提交][状态][讨论版] 题目描述 某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里: ...

  4. 使用ML.NET预测纽约出租车费

    有了上一篇<.NET Core玩转机器学习>打基础,这一次我们以纽约出租车费的预测做为新的场景案例,来体验一下回归模型. 场景概述 我们的目标是预测纽约的出租车费,乍一看似乎仅仅取决于行程 ...

  5. 【Kaggle】纽约市出租车费预测(经典)

    [参考:New York City Taxi Fare Prediction | Kaggle] [参考:美国纽约市出租车大数据探索-基于kaggle比赛_@Irene的博客-CSDN博客]这个参考较 ...

  6. Kaggle-纽约市出租车费预测

    1 数据导入 在kaggle上下载完训练数据和测试数据之后,将数据导入.由于训练数据集过大,电脑配置有限,训练集只导入100000条记录. trainData=pd.read_csv('train.c ...

  7. codeup墓地目录(算法笔记习题刷题笔记)

    在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门模拟->简单模拟 ...

  8. codeup墓地目录

    代码内容为原创C++ 在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门 ...

  9. 算法笔记CodeUp第一至第六章刷题记录

    文章目录 <算法笔记>2.2小节--C/C++快速入门->顺序结构 1.例题1-1-1 按要求输出信息(1) 2.例题1-1-2 按要求输出信息(2) 3.例题1-2-1 求两个整数 ...

最新文章

  1. 一招教你解决大数据量下的各种报表使用问题
  2. VMware虚拟机启动后出现黑屏,不能显示界面,无论安装的是ubuntu、kali还是centos
  3. 作业要求 20181023-3 每周例行报告
  4. Rock8247 bsp-Tornado-VXWorks Build up
  5. xgboost融合模型:大学助学金精准资助预测(有数据)
  6. 金融IT和ERP,哪个更有前途?
  7. MyBatis单表增删改查--接口实现
  8. REDIS学习总结(一)单机集群搭建
  9. 微信公众号点击图片跳转关注
  10. c语言叠阵题目怎么做,选出下列词语书写全正确的一组[]A、贪婪点辍忍军不禁玲珑剔透B、辜负骚扰擎天旱地多姿多采C、小憩茁壮怡然自得头昏目眩D、玷污糟蹋蜂围叠阵明察秋豪...
  11. [干货]网页端、移动端导航设计模式全解
  12. 【5G之道】第十四章:异构网络部署
  13. 比较两组数据的差异用什么图更直观_用Excel制作旋风图
  14. 李宏毅2020机器学习深度学习 笔记1(理论上持续更新中)
  15. Win7系统不识别DVD光驱是怎么回事
  16. Proteus仿真数字钟表电路实验报告(可下载工程文件)
  17. 基于jmeter的接口自动化测试平台
  18. 开源OA:手把手教你搭建OA办公系统(12)O2OA与第三方系统的数据交互实现
  19. 1-6 2020年云南省普通高校专升本专业统考院校及要求
  20. Android ktx使用

热门文章

  1. 37种传感器(十八)无源蜂鸣器模块+Stduino NanoUNO
  2. try catch 对性能影响
  3. 数据工厂DateFactory简易使用教程
  4. 机器人避障之滑动窗口处理数据
  5. Stanford CS230吴恩达Reading Research Papers学习笔记
  6. CAD2020版本设置为经典模式
  7. 学好PS,走到哪里都不怕
  8. 系统升级/重装导致金蝶数据库账套丢失找回
  9. android 多文件多线程断点续传下载
  10. 望月新一证明abc猜想的正确姿势 | 凌云时刻