甲、乙合作修水渠

版权声明:转载请注明出处 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. 注意

  1. 小数除以整数才得小数,整数除以整数位整数
	J_1=1.0/20;
  1. 两人合作之后的天数是,要么甲干,要么乙干

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/87856027