拖拉机过沙漠 能帮我看下?我错在哪儿吗

拖拉机过沙漠
有一片沙漠长度500KM ,拖拉机每次加油50L可以跑50KM,在沙漠
的起点有无限的油,拖拉机可以从起点把油运到中途,在中途建造加
油站,那么拖拉机刚好跑出沙漠需要加多少次油,来回多少次(改变
一次向),总共需要跑多远的里程?
#include"stdio.h"
main(){
int count=0,count1=1;//加油站数量为count,
int y=0;//来回次数y
float sum=0;//总路程
double leg=0; //已经行驶距离
int m=500,n=50;//总距离和油箱量
while(leg<m)//已经行驶距离必须小于总距离
{
count+=1;//加油站数量
leg+=n/(2count-1);//寻找最短加油站距离
leg++;
sum+=(2
count-1)(n/count-1);//距离汇总
y+=2
count-1;

}sum=-sum;
y++;
printf("来回%d次,加油%d次,走过路程为%.2f",y,y/2,sum);

}

先不说你算法对不对的问题
你的m是总距离,
你的leg是总路程
路程保证是要大于距离的,凭什么路程要比距离小?
你缺少一个变量,就是当前的坐标
坐标是要小于距离的,如果坐标等于距离就已经到终点了

需要来回往中途加油站运油,不能将行驶距离与总距离的比较作为结束条件,而是应该用当前位置是否是终点做完结束条件,而且50L油是油箱能装50L还是运输量+油箱量呢