悼念512汶川大地震遇难同胞——一定要记住我爱你
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 9744 Accepted Submission(s): 5941
灾后的救援需要很多的人员,现在又刚刚到达一批志愿者,他们一共有n(10<=n<=1000)人,根据指挥部的指示,他们将被分为抢险、医疗以及通信等3个小分队,并且规定,抢险小分队需要占总人数的一半(如果有小数的话,则舍去),医疗小分队需要占剩余人数的2/3(如果有小数的话,则舍去),剩余的则组成通信小分队。比如一共有55人,那么抢险小分队为55/2=27人,减去抢险小分队为27人剩下28人,则医疗小分队为28*2/3 = 18人,通信小分队为55-27-18=10人。
为了保证救援工作的顺利进行,指挥部决定为每个小分队指派若干当地的向导,原则是为每十个志愿者指派一个向导(如有不足10人的情况,也指派一个),现在请问:需要为这批志愿者指派多少个向导呢?
为了保证救援工作的顺利进行,指挥部决定为每个小分队指派若干当地的向导,原则是为每十个志愿者指派一个向导(如有不足10人的情况,也指派一个),现在请问:需要为这批志愿者指派多少个向导呢?
Input
输入数据首先包含一个正整数C,表示有C组测试用例,然后是C行数据,每行包含一个正整数n(10<=n<=1000),表示志愿者的总人数。
Output
对于每组测试数据,请输出需要的向导数目,每个输出占一行。
Sample Input
2 14 55
Sample Output
3 6
Author
lcy
Source
还能做个水题~~~~~~~~太不容易了,,,我要坚持。
代码:
#include<cstdio>
int need(int x) {
int sum;
if(x%10!=0) {
sum=x/10+1;
} else
sum=x/10;
return sum;
}
int main() {
int c;
scanf("%d",&c);
while(c--) {
int n,dd;//需要的队长
int rescue,medical,communication;//抢险,医疗,通信
scanf("%d",&n);
rescue=n/2;
medical=(n-rescue)*2/3;
communication=n-rescue-medical;
dd=need(rescue)+need(medical)+need(communication);
printf("%d\n",dd);
}
return 0;
}