回复 8楼 azzbcc
对哦~可以原地等待这点我没有考虑到~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
程序代码:#include<stdio.h>
double k;
int n;
void travel(int n ,double k, double present) //present目前还能行驶多远 ,k表示已经走了多少
{
if(n == 1)
{
printf("%lf", (present)/2+k); //k距离的油量由在前面等待的车辆提供
return ;
}
double K1 = (double)present/4; //K1表示每次离队前将1辆车的油平分给其他车的量的总和(每辆车分道K/(n-1)),
//除以4(自身来去2趟, 给其他车辆2次)
k = k+K1;
K1 = K1/(n-1); //继续行驶的车辆每辆能分道的油量
present = present + K1 - k; // 剩下的每辆车目前还能最多行驶的距离
//
travel(n-1, k, present);
}
int main(void)
{
double present;
printf("输入n, k: ");
scanf("%d%lf", &n, &k);
present = k;
travel(n, 0, present);
return 0;
}
[此贴子已经被作者于2017-3-2 20:41编辑过]
[此贴子已经被作者于2017-3-3 03:34编辑过]