//https://blog.csdn.net/qq_27787501/article/details/120079200 //总里程 distance //总萝卜数 allDealNum //每里程消耗萝卜数量 oneDistanceUsing //每次移动数量 oneLevelNum //https://blog.csdn.net/qq_27787501/article/details/120079200 public int getCanDealNum(int distance, int allDealNum, int oneDistanceUsing, int oneLevelNum) { int i = 0; //商人距离起点的里程 int n = allDealNum; //总萝卜数 for(i = 0; i < distance; i++) { //计算要分几次搬运,是下取整。 int x = (int)((double)n/oneLevelNum); //如果回去搬萝卜的代价比搬过来的萝卜数量大,说明没价值,不要返回去搬,扔了。 //https://blog.csdn.net/qq_27787501/article/details/120079200 if(n % oneLevelNum != 0 && n % oneLevelNum > 2 * oneDistanceUsing) { x += 1; } //https://blog.csdn.net/qq_27787501/article/details/120079200 //如果要回去多次搬运,则往返路程要计算好。两次搬运要走三次路。 //如果要回去多次搬运,则往返路程要计算好。三次搬运要走五次路。 //https://blog.csdn.net/qq_27787501/article/details/120079200 //一次搬运当然就一次路就OK了。 if(x > 0) { x += x - 1; } //让驴吃掉的萝卜。 n -= x * oneDistanceUsing; //https://blog.csdn.net/qq_27787501/article/details/120079200 } return n; //https://blog.csdn.net/qq_27787501/article/details/120079200 }
java编程 一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜.已知驴一次性可驮1000根胡萝卜,但每走一公里又要吃掉一根胡萝卜。问:商人共可卖出多少胡萝卜?
最新推荐文章于 2022-09-09 22:01:56 发布