NowCoderWannafly挑战赛5-可编程拖拉机比赛-向上取整和向下取整函数

Posted Persistent.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NowCoderWannafly挑战赛5-可编程拖拉机比赛-向上取整和向下取整函数相关的知识,希望对你有一定的参考价值。

可编程拖拉机比赛
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 65536K,其他语言131072K
64bit IO Format: %lld

题目描述

“这个比赛,归根结底就是控制一个虚拟的小拖拉机跑完整个赛道。一般一场比赛会有 9 个到 13 个赛道,最后看能跑完多少个赛道。”
通常在一场可编程拖拉机比赛中,分别会有实际参赛队伍数 10%、20%、30% 向下取整的队伍获得金、银、铜牌,其余队伍获得荣誉提名,俗称“铁牌”。
但是主办方往往会多准备一些奖牌,那么在发奖牌的时候会按照比例向上取整发出的奖牌以减少浪费,就会有一些原本获得银牌的队伍获得了金牌。
现在给出一个赛区的规模,也就是这个赛区的实际参赛队伍数,小 Q 同学想知道有多少队伍的奖牌会由银变金、由铜变银、由铁变铜。

输入描述:

输入只有一行,包含一个整数 n (10 <= n <= 1000),表示实际参赛队伍数。

输出描述:

输出一行,包含三个由空格分隔的整数,分别表示奖牌会由银变金、由铜变银、由铁变铜的队伍数。
示例1

输入

115

输出

1 1 2

说明

按照下取整规则只发 11 块金牌的话,第 12 名原本是银牌,但是按照上取整规则发 12 块金牌,第 12 名是金牌,就由银变金了。


代码:
 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 #include<cmath>
 6 using namespace std;
 7 typedef long long ll;
 8 int main(){
 9     int n;
10     int a,b,c;
11     while(~scanf("%d",&n)){
12         a=ceil(n*0.1)-floor(n*0.1);
13         b=ceil(n*0.2)-floor(n*0.2);
14         c=ceil(n*0.3)-floor(n*0.3);
15         printf("%d %d %d\n",a,a+b,a+b+c);
16     }
17     return 0;
18 }

水一水。

以上是关于NowCoderWannafly挑战赛5-可编程拖拉机比赛-向上取整和向下取整函数的主要内容,如果未能解决你的问题,请参考以下文章

Android:Flutter之300行代码实现拖拽排序?这次就来挑战一下 —— 挑战失败,我赌5毛没人能300行做到

少儿编程怎么学习?请问难不难啊?

安卓权威编程 5.5 挑战练习

Android Drag-Sort-Listview - 以编程方式启动拖放

2021-2022年度第三届全国大学生算法设计与编程挑战赛(冬季赛正式赛) 部分题题解

2021-2022年度第三届全国大学生算法设计与编程挑战赛(冬季赛正式赛) 部分题题解