版权声明:转载请注明出处 https://blog.csdn.net/nanhuaibeian/article/details/87856027
1. 题目
修一条水渠,单独修,甲队需要20天完成,乙队需要30天完成。如果两队合作,由于彼此施工有影响,他们的工作效率就要降低,甲队的工作效率是原来的4/5,乙队的工作效率是原来的9/10.现在计划X天修完这条水渠,且要求两队合作的天数最少,那么两队要合作几天?(要求:输入X,正确输出合作天数)修一条水渠,单独修,甲队需要20天完成,乙队需要30天完成。如果两队合作,由于彼此施工有影响,他们的工作效率就要降低,甲队的工作效率是原来的4/5,乙队的工作效率是原来的9/10.现在计划X天修完这条水渠,且要求两队合作的天数最少,那么两队要合作几天?(要求:输入X,正确输出合作天数)
2. 代码
#include <stdio.h>
int main() {
float J_1,J_2,Y_1,Y_2,sum,sum_1,sum_2;
int num,i,flag=0,temp,j;
J_1=1.0/20;
J_2= J_1*(4.0/5);
Y_1=1.0/30;
Y_2=Y_1*(9.0/10);
printf("请输入计划完成的天数:");
scanf("%d",&num);
for(i=0; i<=num; i++) {
//合作天数为i时,两人共完成sum_1
sum_1 = J_2*i + Y_2*i;
//剩余天数
temp = num -i;
for(j=1; j<=temp; j++) {
//sum_2为甲干j天,乙干(temp-j)天的工作量
sum_2 = J_1*j + Y_1*(temp-j);
sum = sum_1 + sum_2;
if(sum>=1) {
printf("两队至少合作%d天,甲工作:%d,乙工作:%d",i,j,(temp-j));
flag =1;
break;
}
else sum = sum_1;
}
if(flag) break;
}
if(flag==0) printf("两人无法再指定日期内完成此工作!");
return 0;
}
3. 注意
- 小数除以整数才得小数,整数除以整数位整数
J_1=1.0/20;
- 两人合作之后的天数是,要么甲干,要么乙干