题目描述:
ACM校赛已经到来了,鉴于有些萌新对于ACM-ICPC发奖制度有些不清楚,我们现在来普及一下。在现场赛:金奖占总队伍数的10%,银奖占其总20%,铜奖占其30%,剩下40%拿一手铁牌。那么是向上取整呢还是向下取整呢?一般来说是向下取整的。但是如果运气好碰到了主办方向上取整呢,会增加多少队伍获奖呢?
帅气的邝博士请你计算一下,向上取整相比向下取整,由银变金、由铜变银、由铁变铜的队伍数!
即:
原来在银牌区的队伍因为金牌数量增加跑到了金牌区!
原来在铜牌区的队伍因为金银牌数量增加跑到了银牌区!
原来在铁牌区的队伍因为金银铜牌数量增加跑到了铜牌区!
#include<cmath> #include<iostream> using namespace std; void calculate(int n){ int lower_gold; int lower_sliver; int lower_bronze; int higher_gold; int higher_sliver; int higher_bronze; lower_gold = floor(n*0.1); //向下取整函数floor lower_sliver = floor(n*0.2)+lower_gold; lower_bronze = floor(n*0.3)+lower_sliver; higher_gold = ceil(n*0.1); //向上取整函数ceil higher_sliver = ceil(n*0.2)+higher_gold; higher_bronze = ceil(n*0.3)+higher_sliver; cout << higher_gold - lower_gold <<" "<< higher_sliver - lower_sliver <<" "<< higher_bronze - lower_bronze << endl; } int main(){ int n; while(scanf("%d",&n)!= EOF){ //循环输入 //printf("please input total number of teams:"); if(n>=0){ calculate(n); } } return 0; }