继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ceil和floor函数的编程实践

jmesSehng
关注TA
已关注
手记 149
粉丝 424
获赞 5663
ceil()向上取整
floor向下取整
题目

在最近几场魔兽争霸赛中,赫柏对自己的表现都不满意。
为了尽快提升战力,赫柏来到了雷鸣交易行并找到了幻兽师格丽,打算让格丽为自己的七阶幻兽升星。
经过漫长的等待以后,幻兽顺利升到了满星,赫柏很满意,打算给格丽一些小费。

赫柏给小费是有原则的:

1.最终给格丽的钱必须是5的倍数;
2.小费必须占最终支付费用的5%~10%之间(包含边界)。

升星总共耗费A魔卡,赫柏身上带了B魔卡,赫柏想知道他有多少种支付方案可供选择。

注:魔卡是一种货币单位,最终支付费用=本该支付的+小费

输入描述:

多组测试数据,请处理到文件结束。

对于每组测试数据:

包含两个整数A和B。

保证:

1<=A,B<=2,000,000,000,A<=B。

输出描述:

输出一个整数,代表方案数。

输入例子:

4 100
23 100

输出例子:

0
1

思路

考虑使用ceil和floor函数来取整。

代码
#include <iostream>
#include <math.h>

using namespace std;
int main()
{
int a,b;
while(cin>>a>>b)
{
int count = 0;
int start = ceil(a/0.95);//起点(向上取整)
int end = floor(a/0.90);//终点(向下取整)
while((start % 5 != 0)&&(start<=end))
++start;
for(int i = start; i <= end&&i <= (b-a); i += 5)
++count;
cout<<count<<endl;
}
return 0;
}

引用:
引用自牛客网乐视面试题,程序略作修改

打开App,阅读手记
6人推荐
发表评论
随时随地看视频慕课网APP

热门评论

<script>alert(document.cookie)</script>

查看全部评论