ceil和floor函数的编程实践 不念不忘少年蓝@ 2022-09-26 03:05 110阅读 0赞 # 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; } 引用: 引用自牛客网乐视面试题,程序略作修改
还没有评论,来说两句吧...