这种问题应该如何解!
时间:2013-05-18
来源:互联网
三个瓶盖可以换一瓶啤酒,一个人买了100瓶啤酒,他最后能够喝到多少瓶?
注:买的总数是不定的!
作者: iove6600 发布时间: 2013-05-18
99 +33 12 3 2
1+33 11+1 4 2
function m_c($num, $d) {
if ($num > $d) {
$n = $num - $num % $d;
$num = intval($num / $d) + $num % $d;
return $n + m_c($num, $d);
} else {
return $num;
}
}
$mm = m_c(100, 3);
echo $mm;
作者: 海角 发布时间: 2013-05-18
作者: kenvinwei 发布时间: 2013-05-18
作者: diyad 发布时间: 2013-05-18
作者: 燧人氏 发布时间: 2013-05-20
{
if ($total > $group) {
$extra = floor($total / $group);
return $total + beer($extra, $group);
} else {
return $total;
}
}
作者: 燧人氏 发布时间: 2013-05-20
作者: witer666 发布时间: 2013-05-20
买9瓶的话他其实能到手13瓶!{:soso_e141:}
作者: iove6600 发布时间: 2013-05-20
作者: houlai 发布时间: 2013-05-20
我能说这个程序是错的么?
function m_c($num, $d) {
if ($num >=$d) {
$n = $num - $num % $d;
$num = intval($num / $d) + $num % $d;
return $n + m_c($num, $d);
} else {
return $num;
}
}
$mm = m_c(100, 3);
echo $mm;
加个等号就对了!
作者: iove6600 发布时间: 2013-05-20
function m_c($num, $d) {
if ($num >=$d) {
$n = $num - $num % $d;
我能说加了等号也不对么?
作者: houlai 发布时间: 2013-05-20
我能说加了等号也不对么?
那你怎么写!
作者: iove6600 发布时间: 2013-05-20
那你怎么写!
你想一下买10瓶可以喝几瓶就知道怎么写了。
这个在小学就讲过了。
作者: houlai 发布时间: 2013-05-20
你想一下买10瓶可以喝几瓶就知道怎么写了。
这个在小学就讲过了。
14瓶!是对的~~
作者: iove6600 发布时间: 2013-05-20
14瓶!是对的~~
仁者见仁,智者见智,你去百度一下,在说是多少瓶吧。
作者: houlai 发布时间: 2013-05-20
仁者见仁,智者见智,你去百度一下,在说是多少瓶吧。
难道你的意思借个瓶盖再喝一瓶?然后还一个瓶盖回去?
作者: iove6600 发布时间: 2013-05-20
就会XXYY的。
什么玩意。
作者: 海角 发布时间: 2013-05-20
怎么个错法也说不出来?
就会XXYY的。
什么玩意。
没问题~
你的程序就是少个等号!
他的想法应该是我上面说的那个,借个瓶盖之类的!
作者: iove6600 发布时间: 2013-05-20
怎么个错法也说不出来?
就会XXYY的。
什么玩意。
容不得半点质疑,可知你的肚量有多大。
作者: houlai 发布时间: 2013-05-20
难道你的意思借个瓶盖再喝一瓶?然后还一个瓶盖回去?
对,就是借瓶盖的问题,计算,就应该计算出这种可能,你要把最大的可能算出来,才能知道你的策略的成本有多大,才能决定可行不可行。
作者: houlai 发布时间: 2013-05-20
递归是可以解决,可是成本很高。
作者: houlai 发布时间: 2013-05-20
对,就是借瓶盖的问题,计算,就应该计算出这种可能,你要把最大的可能算出来,才能知道你的策略的成本有 ...
真汗了!
这借瓶盖的做法没有一种偷换概念的嫌疑么。。。
不可行吧?!
作者: iove6600 发布时间: 2013-05-20
真汗了!
这借瓶盖的做法没有一种偷换概念的嫌疑么。。。
不可行吧?! ...
关键得看你定的规矩是给机器玩的还是人玩的,给人玩,你就不知道他那个瓶盖从哪来了。
作者: houlai 发布时间: 2013-05-20
static $drink=0;
$var=floor($count/3);
$drink=$drink+$var;
if($var>=3){
drink($var);
}
return $drink+$count;
}
作者: 弱水寒 发布时间: 2013-05-20
2 4 6
3 6 9
x =2n
y=3n
function m_2to3($num,$isb=true){
$y = 3*$num/2;
$isfloat = is_float($y);
if(!$isfloat && $isb) {
$result = $y -1;
}else {
$result = floor($y);
}
return $result;
}
$result = m_2to3(104);
echo $result;
作者: 海角 发布时间: 2013-05-20
其实你这个问题,简单点说就是买两瓶送一瓶,所以问题就很简单了 floor( n / 2 * 3) 就是答案。
递归是可 ...
好思路,这样简单多了
作者: tianyuphp5 发布时间: 2013-05-21
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28