一首算是简单的数字题

来源:百度知道 编辑:UC知道 时间:2024/09/23 13:20:20
三个人去投宿 , 服务生说要300元
>
> 每个人就各出了100元,凑成300元
>
> 后来老板说今天特价只要250元
>
> 於是叫服务生把退的50元拿去还给他们
>
> 服务生想自己暗藏20元起来,於是就把 剩下的30元还给他们
>
> 那三个人每人拿回10元100-10=90 表示每个人只出了90元投宿
>
> 90X3+服务生的20元=290 那剩下的10元呢????
>
> 纽西兰提供这个题目后,受到广大的回响!

首先 第一种算法 很简单 3*100(每人100)=300
然后是退50 250(住宿)+50(返还)=300
接下来 服务生拿走20 50-20=30 于是 总账目是 250(住宿)+30(返还)+20(服务生)=300
再来是 每人分10块 所以是 总数为 250(住宿)+20(服务生)+3*10(每人返还)=300
算术应该是住宿 每人 250/3=83.3.。。。。
每人返还10 所以是 83.3+10=93.3.。。。
于是 3*93.3+20=300

另外一种算法 每人交了100总数是300 老板返还50 服务生又扣下20
实际上服务生扣下的钱是3人同时出的钱 所以 每人支付服务生 20/3=6.667
然后 房价是250 所以每人房费是 250/3=83.333
所以每人支出是 83.333+6.667=90
再加上最后退回来的30即每人30/3=10
最后 还是每人 90+10=100

好了 引导性算法 解决问题的算法 看这里
题目中的误导主要是
服务生返还每人10元 自己留下20元 我们屏蔽这20元先不看它 就当是50元全部退还3人50/3=16.667
在这里 3*(100-16.667)+50=300依然没有出错
那么继续
然后实际是每人返还了10元 所以就是每人少返还6.667元
问题出来了 3*(100-10)+20=290 少了10元
好吧 上边是错误的算法
我们把 3*(100-16.667)+50=300这个式子转换下看看
3*(100-16.667)+50=3*(100-10-6.667)+50=3*(100-10)-20+50=3*(100-10)+30=300
看见哪里有问题了吧 问题就是 服务生拿走的20元要算在返还的金额里面而不是花费的金额里面
因为无论是老板还是顾