搜索
查看: 2455|回复: 7
打印 上一主题 下一主题

第3章 第六节 逻辑挑战2:三个数怎么办 里面的问题。

[复制链接]
楼主
发表于 2013-6-8 20:15:20 | 显示全部楼层
吐槽有理 发表于 2013-6-9 01:22
并不是说有问题,只是题目要求输出最大数,这样只是违背题意而已

我不觉得哪里违反了题意,题目中说输出最大值,a,b,c都是最大值,将a,b,c都输出完全符合题意。
如果题目的描述是,输出a,b,c中的最大值max,那么确实应该输出一个值

上面是数学角度的解释,如果在编程的角度上来讲

输出一个序列中满足条件f(x)的值,如果这个序列中有复数个值满足f(x),那么一般情况下的实现是输出第一个,这样做是为了减少memory access

但是也有例外,例如序列长度是2
一般会写成return a>b? a:b;
而非return a>=b? a:b;
两者的memory access一样,但是前面一种写法可以少打一个字符
沙发
发表于 2013-6-9 01:02:16 | 显示全部楼层
吐槽有理 发表于 2013-6-9 00:00
因为要求的是输出最大的数,而红框里如果a=b=c,则输出a,b,c三个值

但是从数学上来说,这样子做一点错都没有
板凳
发表于 2013-6-9 23:48:18 | 显示全部楼层
你可以当做一个issue提交给作者

点评

你很活跃哦!加油,有当版主的机会哦~~~~  发表于 2013-6-10 16:33

评分

参与人数 1啊哈币 +1 收起 理由
回遗未来 + 1 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表