题目描述:
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;
}


京公网安备 11010502036488号