出租车费

2023-11-09

题目描述

某市出租车计价规则如下:起步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

题目分析:对于“接下来的4公里,每公里2元”是在满足条件“起步4公里10元”的基础上进行计算,只要起步超过4公里后,即在4~8公里之内按照每公里2元进行收费,对于“之后的每公里2.4元”是在条件2的基础上进行计算的。

解题思路:
*首先判断4公里之内的 ,如果在4公里之内,按照10元收费,如果在4~8公里,按照10+(公里数-4)2进行收费,如果超过8公里,按照10+42进行收费,再在此基础上公里数-8;进行判断是否大于8公里,如果是,继续按照10+42进行收费,如果不是,看是否小于等于4,如果是,按照剩下的公里数2.4收费,如果不是,按照10+(公里数-4)2进行收费。

代码实现:

#include<cstdio>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF&&n>0)
    {
        double ans=0;
        if(n<=4)//在起步4公里之内 
        {
            ans+=10;
        }
        else if(n>4&&n<=8)//在4~8公里 
        {
            ans+=10+(n-4)*2;
        }
        else//大于8公里 
        {
            while(n>8)//对于继续大于8公里的按照此收费 
            {
                ans+=18;
                n-=8;
            }
            if(n<=4)//当大于8公里之后记行重复的循环后剩余的公里数,范围是小于8公里 
            {
                ans+=2.4*n;//小于4公里,按照每公里2.4收费 
            }
            else//大于4公里小于等于8公里之间 
            {
                ans+=10+(n-4)*2;
            }
        }
        if(ans==(int)ans)//当没进行坐车时,(int)ans等于初始化的 ans
        {
            printf("%d\n",(int)ans);
        }
        else//进行了坐车,输出ans 
        {
            printf("%.1lf\n",ans);
        }
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

出租车费 的相关文章

  • 数据筛选特征方法-方差法

    在数理统计中 方差是测算随机变量离散趋势最重要 最常用的指标 方差是各变量值与其均值离差平方的平均数 它是测算数值型数据离散程度的最重要的方法 当数据分布比较集中时 各个数据与平均数的差的平方和较小 当数据分布比较分散 即数据在平均数附近波
  • 正确理解层次方框图

    正确的层次方框图示例 图片来源 https blog csdn net qq 15037231 article details 60467793 注意 在网上搜索层次方框图会出现很多类似的图 但很多都是错的 层次方框图用树形结构的一系列多层
  • 重定向与请求转发

    分享一下在华清远见学习的知识点 重定向与请求转发也是面试中容易问到的问题 目录 一 重定向 二 请求转发 三 请求转发与重定向数据传递 四 请求转发与重定向的区别 总结 一 重定向 重定向是指由原请求地址重新定位到某个新地址 原有的 req
  • Java培训班学费一般多少?Java自学成功率是多少?

    Java培训班学费一般多少呢 Java自学成功率是多少 很多想学Java的新手对培训学费很是好奇 同时也想知道自学成功率 毕竟能不花钱就能学好的话 没必要花巨款学习 关于Java培训费用与自学成功率的答案请往下看 Java培训班学费一般多少
  • 鼠标移入背景图片放大(还原)

  • maven 配置 Tomcat7 插件和启动

    如果想使用 在 maven中使用 Tomcat7 来启动的话 可以这样配置
  • ORBSLAM2计算描述子距离——C++ 位操作得到二进制32位int值中有多少个1

    看ORBSLAM2时算描述子之间的距离时看到的神奇的位操作 特此记录一哈 unsigned int v pa pb v v v gt gt 1 0x55555555 v v 0x33333333 v gt gt 2 0x33333333 d
  • 如何解析EML(邮件)格式的文件以及一款小巧的EML邮件阅读工具

    在理解EML格式的时候 先回顾一下历史 这样有助于理解邮件的格式 比如邮件传输时为何会有多种编码方式 此外 理解EML格式也有助于理解HTTP协议 历史溯源 由于历史原因 我们目前看到的大部分的网络协议都是基于ASCII码这种纯文本方式 也
  • 用java写一个权限系统的框架

    Java是一种强大的编程语言 可以用来构建复杂的软件系统 包括权限系统 下面是一个简单的Java权限系统的框架 定义用户和角色 首先需要定义用户和角色 比如管理员 普通用户等 分配权限 为每个角色分配不同的权限 比如管理员有所有权限 普通用
  • 58,滴滴,京东等大厂都在用的抓包工具:Fiddler。软件测试工程师必会技能

    前言 Fiddler是一个http协议调试代理工具 它能够记录并检查所有你的电脑和互联网之间的http通讯 设置断点 查看所有的 进出 Fiddler的数据 例如cookie html js css等文件 换句话说就是Fiddler可以拦截
  • java jdbc 时间段和日期段查询

    首先先创建1000条随机日期数据 package jdbc import java sql Connection import java sql Date import java sql DriverManager import java
  • 顺序表的操作及实现(C++)

    顺序表的操作是大家在学习数据结构的第一个模块 也是最简单的一个 下列是顺序表的六种基本操作详解 希望能对您有所帮助 1 建立一个顺序表 输入n个元素并输出 define MAXSIZE 100 确定最大值 define OK 1 defin
  • 世界十大美女城市排行榜出炉:荷兰首都居首位

    中新网6月4日电 据俄罗斯媒体报道 在旅游旺季到来之际 世界著名的 游客文摘 杂志日前公布了在男性游客心目中拥有世界最漂亮女性的十大城市排行榜 荷兰的阿姆斯特丹 以色列的特拉维夫和加拿大的蒙特利尔位列三甲 俄罗斯首都莫斯科位列第五 高居十大
  • String类

    一 字符串 C语言中 字符串用字符数组来实现 Java语言中 用类来实现 该类共分为两大类 字符串常量 不可修改的字符串 存放在String类的对象中 字符串变量 可以修改的字符串 存放在StringBuffer类的对象中 二 String
  • Android:玩转Retrofit+OkHttp+Kotlin协程 网络请求架构

    文章目录 引言 实战 1 引入开源库 2 简单封装 3 开始使用 MVP架构模式 MVVM架构模式 看 这里 https blog csdn net sange77 article details 103959389 引言 目前做APP网络
  • ProcessBuilder waitFor 调用外部应用

    小程序项目最初使用ffmpeg转换微信录音文件为wav格式 再交给阿里云asr识别成文字 视频音频转换最常用是ffmpeg 1 ffmpeg i a mp3 b wav 相关文章 小程序实现语音识别转文字 坑路历程 问题变成怎样使用java
  • swagger 的异常错误

    Errors Hide Resolver error Invalid attempt to iterate non iterable instance In order to be iterable non array objects mu
  • 华为OD机试真题B卷 Java 实现【分班】,附详细解题思路

    一 题目描述 幼儿园两个班的小朋友在排队时混在了一起 每位小朋友都知道自己是否与前面一位小朋友是否同班 请你帮忙把同班的小朋友找出来 小朋友的编号为整数 与前一位小朋友同班用Y表示 不同班用N表示 二 输入描述 输入为空格分开的小朋友编号和
  • == 和equals()的区别

    和equals 的区别 和equals的区别 一 回顾 的使用 运算符 1 可以使用在基本数据类型变量和引用数据类型变量中 不同的类型可以比较 2 如果比较的是基本数据类型变量 比较两个变量保存的数据是否相等 不一定类型形同 如果比较的是引
  • js引用其他js文件

    1 在html文件里面引用 js将type设置为module 在js文件中则可以使用import 与export语法 但打开页面需要使用vscode插件 liveServer 或者open in default browser 去打开页面

随机推荐

  • Ostu(大津法)二值化图像简介

    一 前言 Ostu方法又名最大类间差方法 通过统计整个图像的直方图特性来实现全局阈值T的自动选取 其算法步骤为 1 先计算图像的直方图 即将图像所有的像素点按照0 255共256个bin 统计落在每个bin的像素点数量 2 归一化直方图 也
  • java spring cloud 企业工程管理系统源码+二次开发+定制化服务

    鸿鹄工程项目管理系统 Spring Cloud Spring Boot Mybatis Vue ElementUI 前后端分离构建工程项目管理系统 1 项目背景 一 随着公司的快速发展 企业人员和经营规模不断壮大 为了提高工程管理效率 减轻
  • Scala中的apply方法

    1 apply的场景 Scala中实例化一个类 可以不用new 其原因 其实就是 apply 方法 具体原因 后边再讲 在上句中Scala 生成Array对象 会自动去调用 Array 这个伴生对象的 伴生类中的apply方法 Scala中
  • NetworkManager is not running

    nmtui 提示 NetworkManager is not running 启动 sudo service network manager start 提示 Redirecting to bin systemctl start netwo
  • python+vue+django考研信息查询辅导学习指南系统

    系统分为学生 管理员 导师三个角色 学生的功能是注册登陆系统 查看考研资讯 学校 专业 项目等信息 在线交流 联系客服 申请设备 导师对学生的申请设备进行审核 管理员对学生 资讯 导师 专业 学校 设备 项目等信息进行管理 管理员的主要功能
  • [机缘参悟-101] :IT人 - 遵从世界本源的样子,不带个人情感、道德、认知倾向,接纳一切,你就拥有无限的力量

    目录 道的本义 如来的本义 观音的本义 无为而治本质是顺势而为 儒家的本质 感悟 道的本义本质 天地的力量和运行规律 天地以万物为刍狗 是出自 道德经 第五十章的一句话 在这句话中 天地 指的是宇宙 万物 代表着宇宙中的一切生物和事物 而
  • 本地上传文件到github报错

    rejected master gt master non fast forward error failed to push some refs to https github com linanyways myProject git h
  • Error: L6218E: Undefined symbol vApplicationGetIdleTaskMemory (referred from tasks.o).

    我用的是F103ZET6的板子 移植成功后 编译出现两个错误是关于stm32f10x it c 里 void SVC Handler void void PendSV Handler void 两个函数的占用问题 随后编译出现以下两个问题
  • html iframe 传递数据,IFrame传入POST参数。

    我有一个API 比如http XXX test 只支持POST请求 需要传类似如下的参数才能拿到结果 id 12 userInfo name amy age 13 map fieldName AA mapName AAA fieldName
  • instanceof,isInstance,isAssignableFrom的区别,以及isAssignableFrom()详解

    一 isAssignableFrom详解 这个方法我觉得是不好理解 感觉命名不对劲 不知道是不是错觉 Class类的isAssignableFrom Class cls 方法 如果调用这个方法的class或接口 与 参数cls表示的类或接口
  • 群晖NAS和绿联NAS的Docker安装odoo16社区版和企业版教程

    社区版安装 1 在群晖后台安装好docker套件 并去控制面板 终端机和SNMP打开SSH功能 绿联nas的同样进管理界面安装docker套件 绿联打开SSH方法是在设备 远程调试下面 把远程调试打开 然后就会跳出来 验证码 然后下面这一段
  • form表单传值之Form表单对象

    function check var formData new FormData formData append name input name name val formData append pid select name pid va
  • win服务器创建文件夹命令行,怎样在windows的cmd命令行下创建删除文件和文件夹...

    在window下我们往往通过 右键 gt 新建 命令来创建文件和文件夹 但有时会遇到 以点开头的文件 比如 log 这种文件用鼠标新建是新建不了的 这时我们可以在DOS下用命令行来创建 所以在这里我将平时在dos里创建文件和文件夹的方法列举
  • 为什么应该用模块取代C/C++中的头文件?

    原文地址 http www csdn net article 2012 11 28 2812274 module replace C based languages headers 本文整理自Apple C 工程师Doug Gregor的演
  • 关于“异步复位,同步复位,异步复位同步释放”的理解

    文章目录 1 异步复位 2 同步复位 3 异步复位同步释放 今天好好理一理异步复位 同步复位 以及亚稳态中的异步复位同步释放 1 异步复位 一般让复位信号低电平有效 复位信号不受时钟的控制 只要复位信号有效 那么电路就会复位 对应的写法为
  • 十五、Redis——网络模型

    目录 1 1 用户空间和内核态空间 1 2 网络模型 阻塞IO 1 3 网络模型 非阻塞IO 1 4 网络模型 IO多路复用 总结 编辑 1 5 网络模型 信号驱动IO 1 6 网络模型 异步IO 1 7 同步和异步划分 1 8 Redis
  • React根据条件渲染不同的组件

    最近在做一个电商后台管理项目 碰到了一个要根据前面的条件不同来渲染不同的组件 如下图所示 要根据商品的分类来显示不同的商品属性 最开始以为简单的使用switch来判断条件即可 但是在react组件当中 一个函数是不能返回另一个函数的 这就导
  • linux 命令之nc

    nc使用示例 端口扫描nc v w 2 192 168 2 34 z 21 24nc connect to 192 168 2 34 port 21 tcp failed Connection refusedConnection to 19
  • 数字后端基本概念介绍——Track

    今天要给大家介绍的数字后端基本概念是Track Track是指走线轨道 和row一样 可以约束走线器的走线方向 信号线通常必须走在track上 Std Cell的高度通常用metal2 track pitch来表示 常用的 std cell
  • 出租车费

    题目描述 某市出租车计价规则如下 起步4公里10元 即使你的行程没超过4公里 接下来的4公里 每公里2元 之后每公里2 4元 行程的最后一段即使不到1公里 也当作1公里计费 一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小 例