一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜。问:商人最多可卖出多少胡萝卜?

js代码:

t=3000;//总萝卜
s=0;//总里数
for(i=0;i<3000;i++){
    s += 1/(2*Math.ceil(t/1000)-1);//每跟萝卜可行驶最远距离
    if(s > 1000)
        break;
    t--;
}
console.log(t);

534

php代码

<?php
/**
 * 一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。
 * 已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜。问:商人最多可卖出多少胡萝卜?
 * 设计思路:驴一次可驮1000跟,所以3000跟得驮三次
 * 随着萝卜越来越少,会变成驮两次,1次,驮多次时需要往返来驮,往返总次数为2n-1,n为需要驮的次数
 * 只要计算每根萝卜能让驴驮所有萝卜走多远,然后
 */
$t=3000;//总萝卜
$s=0;//走过 的总路程

for($i=0; $i<3000; $i++){
    $k = 2*ceil($t/1000)-1;//往返次数2乘以需要驮的次数减一
    $s += 1/($k);//累加每跟萝卜可行驶最远距离
    if($s > 1000)
        break;
    $t--;
}

echo $t;

转载请注明:小Y » 一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜。问:商人最多可卖出多少胡萝卜?

赞 (0) 评论 (0) 分享 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址