回复 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编辑过]