曹冲称象的算法改进

kevinloop
楼主 (未名空间)

曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
1.准备一只空船。
2.牵引大象到船上,划出船吃水的刻度。
3.把大象牵回岸上。
4.士兵们挑石子到船上,船体到达划的刻度结束。
5.挑石子到岸上,称石子的重量,估算出大象的重量。

这个算法的局限性在于,挑石子和称石子太麻烦。

我的改进算法是:
1.准备一只空船。
2.牵引大象到船上,划出船吃水的刻度。
3.把大象牵回岸上。
4.让一些士兵走到船上,船体到达划的刻度结束。
5.让士兵们走下船,称士兵们的体重,估算出大象的重量。

我的算法的好处是士兵们上船下船,比挑石子简单很多。

我上小学的时候学这篇课文就跟老师提过这个算法。但是被老师说我不专心理解课文、胡思乱想。

最新回帖

w
wewill2009
98 楼


曹冲的办法好多了

人体比重和水的比重差不多
石头比重是人体的2-3倍
50以上个人上去会让拥挤的船很不稳

一袋袋石头或其它比重大物上船比一个个人上去没有什么劣势

s
sgzhang
97 楼


我假设你的意思是:秤大象与秤士兵之间有时间差,这时候太阳移动造成误差。

可以这样解决:

1.选择2艘船
2.一艘先测大象再测士兵,另外一艘先测士兵再测大象
3. 算出两种情形的大象重量
4.取平均

【 在 shaogege (soul) 的大作中提到: 】
: 整个测量过程,人和象出出入入船要时间吗,太阳都到正午了

shaogege
96 楼

整个测量过程,人和象出出入入船要时间吗,太阳都到正午了

【 在 sgzhang (sgzhang) 的大作中提到: 】
: 更正:
: 桅杆最高点位置在地面投影A,B,C

g
gunchulai

当时没有那么大的称可以称士兵。

kevinloop

可以称,每个人都知道自己的体重,其实根本不需要称,只要这一百多个士兵报告自己的体重,加起来就可以。
【 在 gunchulai (迅雷不及掩鸟) 的大作中提到: 】
: 当时没有那么大的称可以称士兵。

tend

本质上没差别,差别是你的精度没有曹冲的高。你的精度在一个人的体重上大约100斤
,而曹冲的精度可以达到斤两。

【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: 这个算法的局限性在于,挑石子和称石子太麻烦。
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: ...................

n
neo2345

属实,厉害国的教育就是毁灭人性

【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: 这个算法的局限性在于,挑石子和称石子太麻烦。
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: ...................

WannaCry

我一般是google上网查询那只象的重量,有时也有意无意地向周围的象打听那象多重
S
SLE

曹冲方法的精确度并不比先估算体积,然后按照水的密度换算成重量高多少。
g
gunchulai


【 在 kevinloop (小旋风) 的大作中提到: 】
: 可以称,每个人都知道自己的体重,其实根本不需要称,只要这一百多个士兵报告自己
: 的体重,加起来就可以。

在三国演义里面,从来没写到如“张飞,身长多少,体重多少磅”,说明当时没有称人的称,不然肯定会写,来增加气势。
kevinloop

这个我想过。用石子和用人都是通过船体的刻度的match来称的。我的意思是称人更方
便。曹操并不是想知道具体的几斤几两,只是想知道比如大象大概是1万斤,还是一万
五千斤,等等。用人和用石子差别不大。
【 在 tend (tend) 的大作中提到: 】
: 本质上没差别,差别是你的精度没有曹冲的高。你的精度在一个人的体重上大约100斤
: ,而曹冲的精度可以达到斤两。

llsunspot

最后一个人可以换成石头,想象成不同砝码即可
maajia

你的老师傻逼。 你应该得到夸奖。你现在的成就应该收益于你的独立思考。
laodongzhe

如果你的士兵只有两个,throw err, not enough resources.
kevinloop

这个可以。人是100斤的砝码。石子是5斤的砝码。不过曹操确实不需要如此高的精度,而且船在水上荡来荡去,对于体重超过一万斤的大象,误差100斤完全可以接受。
【 在 llsunspot (小小手) 的大作中提到: 】
: 最后一个人可以换成石头,想象成不同砝码即可

q
qgcui

看是什么船了,一般的船精度肯定不高,一根线对应多少重量?在加上水面不平稳。

【 在 SLE (嗯,就这样定了。) 的大作中提到: 】
: 曹冲方法的精确度并不比先估算体积,然后按照水的密度换算成重量高多少。

q
qgcui

看是什么船了,一般的船精度肯定不高,一根线对应多少重量?在加上水面不平稳。

【 在 SLE (嗯,就这样定了。) 的大作中提到: 】
: 曹冲方法的精确度并不比先估算体积,然后按照水的密度换算成重量高多少。

a
allienpig

天才
下任诺贝尔奖就是你了
q
qgcui

如果是航空母舰就没法测了

【 在 qgcui (天凉好个秋) 的大作中提到: 】
: 看是什么船了,一般的船精度肯定不高,一根线对应多少重量?在加上水面不平稳。

kevinloop

曹操随时叫来一万个士兵不是什么问题。
【 在 laodongzhe (组长) 的大作中提到: 】
: 如果你的士兵只有两个,throw err, not enough resources.

M
Martinitz

猥琐男自以为是的明证。你既然扯理论,难道就不知道人不停地吸入氧气呼出二氧化碳。还会出汗,体重在不停的减少吗?
M
Martinitz

你妈称石头比称人简单多了
b
beattie

士兵显然不够精确嘛 你打算切腿还是切jj

【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: 这个算法的局限性在于,挑石子和称石子太麻烦。
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: ...................

laodongzhe

这就是马工和架构师的区别。

马工从来不用为资源考虑

架构师从来都是从资源不足考虑问题。

【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操随时叫来一万个士兵不是什么问题。

kevinloop

你这没有道理。根据自然辩证法,在船上的石头和事后过秤的石头已经不是同样的石头了。人的呼吸和出汗显然可以忽略。又不是用天平做化学实验。
【 在 Martinitz (martinitz) 的大作中提到: 】
: 猥琐男自以为是的明证。你既然扯理论,难道就不知道人不停地吸入氧气呼出二氧化碳
: 。还会出汗,体重在不停的减少吗?

kevinloop

显然称人比称石子更简单。类似于小手说的大砝码和小砝码。而且人自己可以走动,不需要挑很多石子挑来挑去。
【 在 Martinitz (martinitz) 的大作中提到: 】
: 你妈称石头比称人简单多了

tend

如果估算,找个跷跷板就够了,哪要这么麻烦。

【 在 kevinloop (小旋风) 的大作中提到: 】
: 这个我想过。用石子和用人都是通过船体的刻度的match来称的。我的意思是称人更方
: 便。曹操并不是想知道具体的几斤几两,只是想知道比如大象大概是1万斤,还是一万
: 五千斤,等等。用人和用石子差别不大。

curiousami

足够数量的士兵,外加一些零碎砂土石头,就可以了

但古代称量人的重量不方便,也是有可能的。一般的杆秤做不了那么大。不知道古代整体称量日常常见的大物件怎么称,比如猪牛马,估计要搞一个很大的杆秤。

【 在 tend (tend) 的大作中提到: 】
: 本质上没差别,差别是你的精度没有曹冲的高。你的精度在一个人的体重上大约100斤
: ,而曹冲的精度可以达到斤两。

tend

或者量一下大象的身长和直径,找一头猪比一下就可以。

【 在 tend (tend) 的大作中提到: 】
: 如果估算,找个跷跷板就够了,哪要这么麻烦。

kevinloop

没有这么大的跷跷板。如果要制造这么大的跷跷板,需要费时费力。制造这么大的跷跷板跟制造一个巨大的称代价差不多。制造一个巨大的称的proposal被曹操否决了。
【 在 tend (tend) 的大作中提到: 】
: 如果估算,找个跷跷板就够了,哪要这么麻烦。

M
Martinitz

你用杆秤称头猪,就知道称人简单还是称石头简单

【 在 kevinloop (小旋风) 的大作中提到: 】
: 显然称人比称石子更简单。类似于小手说的大砝码和小砝码。而且人自己可以走动,不
: 需要挑很多石子挑来挑去。

m
mynight02

看了你自以为是的想法和下面的评论,我只觉得菌斑水平下降得太厉害了。
先不说曹冲只是一个小孩子,你这个误差恐怕要大于10%的称法比人家的差得不是一丁
半点不说,最后还要一个一个去解决称人的问题,真的是脱了裤子放屁。
曹冲的方法是当时的最优解,你恐怕不能理解何为“最优”是真的。
【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: 这个算法的局限性在于,挑石子和称石子太麻烦。
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: ...................

w
wneat

天才!注意不错,很好的改进办法
M
Martinitz

杆秤秤不了的大家伙,去问曹冲

【 在 curiousami (归去来) 的大作中提到: 】
: 足够数量的士兵,外加一些零碎砂土石头,就可以了
: 但古代称量人的重量不方便,也是有可能的。一般的杆秤做不了那么大。不知道古代整
: 体称量日常常见的大物件怎么称,比如猪牛马,估计要搞一个很大的杆秤。

m
mynight02

而且曹冲的方法是一个精度比较高的普适方法,这一点非常重要,是现代科学思维的基础。
而楼主的方法,就是中医思维,头疼医头、脚疼医脚,看似“捷径”,其实没有任何的可重复性,下次要是想知道一头牛的重量,不能把人肢解,是不是得赶一群鸡上船啊?【 在 mynight02 (一束星光) 的大作中提到: 】
: 看了你自以为是的想法和下面的评论,我只觉得菌斑水平下降得太厉害了。
: 先不说曹冲只是一个小孩子,你这个误差恐怕要大于10%的称法比人家的差得不是一丁
: 半点不说,最后还要一个一个去解决称人的问题,真的是脱了裤子放屁。
: 曹冲的方法是当时的最优解,你恐怕不能理解何为“最优”是真的。

m
mynight02

这个问题,跟司马光砸缸问题是一样的,就是一个“最优解”的问题。
国人缺乏逻辑思维训练,体现在方方面面。
【 在 mynight02 (一束星光) 的大作中提到: 】
: 而且曹冲的方法是一个精度比较高的普适方法,这一点非常重要,是现代科学思维的基
: 础。
: 而楼主的方法,就是中医思维,头疼医头、脚疼医脚,看似“捷径”,其实没有任何的
: 可重复性,下次要是想知道一头牛的重量,不能把人肢解,是不是得赶一群鸡上船啊?

bobolan88

先上士兵,最后用少量石头。
bobolan88

曹冲称象的最大误差来源于画线那一下的精度,还有上石头的叫停时刻。

实际操作一下就知道水波一直在荡漾。
scraper

你这个太不精确了,要是中途一个士兵撒了泡尿另一个士兵拉了泡屎怎么办?总不能拉船上吧?还有,士兵出汗也会导致体重下降。

hihihihihihi

用浮力定律算更快更准确
xiaxianyue

你这是历史和语文没学好。古代没有体重秤,计量单位一般是“石”,等于10斗粮食的重量。所以称人根本比不上估几篓子米/石来得快。那些专门搬货的码头苦力基本上能
精确估出自己搬的东西重量。只要搬上船就知道多重了。

【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
:
: 这个算法的局限性在于,挑石子和称石子太麻烦。
:
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.让一些士兵走到船上,船体到达划的刻度结束。
: 5.让士兵们走下船,称士兵们的体重,估算出大象的重量。
:
: 我的算法的好处是士兵们上船下船,比挑石子简单很多。
:
: 我上小学的时候学这篇课文就跟老师提过这个算法。但是被老师说我不专心理解课文、
: 胡思乱想。
yugong

估计是小船上站满士兵可能也无法把船压到大象的吃水线,你有不能让他们叠罗汉。你想人站的稀稀拉拉的,大象又高,整体密度就不一样了。

船要很大才能站很多人,但是弄个大船称又比较麻烦。也许只是在护城河或者园林的池塘里称,没那么大的船呗。

石头就无所谓,随便往上垒,船不需要太大,大家都不麻烦。

【在 kevinloop(小旋风)的大作中提到:】
:曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
:1.准备一只空船。

curiousami

猪还好,我见过称猪,就是用比较大的杆秤,要两三个人一起扛起来称

古代称牛和马估计就得上更大的杆秤,秤杆估计得吊在大梁上,或用磅秤。古代大概也有磅秤。极少人会想到用船,因为绝大多数地方船更少见,也确实不太准,画水线刻度不会太准。用船称大象,误差一点无所谓。

【 在 Martinitz (martinitz) 的大作中提到: 】
: 你用杆秤称头猪,就知道称人简单还是称石头简单

c
cellcycle

士兵体重太小咋办,每人背个沙包 ?

还有士兵,没法在船上绝对静止吧 ?

WPF

你这算法好,不过以前没有称人的秤,

而且称人是有侮辱性的味道

不是技术问题,是社会问题

将军们搞专业都还马虎,搞社会就差了
m
mynight02

船用得小一点,多测几次,就可以克服这种误差。
而且要固定船让它不晃,一点也不难。
【 在 bobolan88 (波波熊) 的大作中提到: 】
: 曹冲称象的最大误差来源于画线那一下的精度,还有上石头的叫停时刻。
: 实际操作一下就知道水波一直在荡漾。

bobolan88

固定船不晃动,你说的容易,大象也不一定配合。船受到外力固定的话,又不准了。

就算船完全不晃,你去看看是不是有水波在荡漾,一上一下的,根本不可能精确画线。那根线差一点就误差上百斤。还多测几次,你等得及,曹操能等?LOL

【 在 mynight02 (一束星光) 的大作中提到: 】
: 船用得小一点,多测几次,就可以克服这种误差。
: 而且要固定船让它不晃,一点也不难。

edn

原文没说是称石子

【在 kevinloop(小旋风)的大作中提到:】
:曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
:1.准备一只空船。

bobolan88

属实。楼主显然不知道客车和货车的区别。

【 在 yugong (愚公挖坑) 的大作中提到: 】
: 估计是小船上站满士兵可能也无法把船压到大象的吃水线,你有不能让他们叠罗汉。你
: 想人站的稀稀拉拉的,大象又高,整体密度就不一样了。
: 船要很大才能站很多人,但是弄个大船称又比较麻烦。也许只是在护城河或者园林的池
: 塘里称,没那么大的船呗。
: 石头就无所谓,随便往上垒,船不需要太大,大家都不麻烦。
: :曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:: :1.准备一只空船。

curiousami

尼玛,曹冲称象也能讨论这一大坨
curiousami

曹冲称象 (历史故事)

原文:曹冲生五六岁,智意所及,有若成人之智。时孙权曾致巨象,太祖欲知其斤重,访之群下,咸莫能出其理。冲曰:“置象大船之上,而刻其水痕所至,称物以载之,则校可知矣。”太祖悦,即施行焉。

曹冲五六岁就能想出这个办法,确实有智慧

WannaCry

老剩逼,固定船不晃,那不更严重影响精度,固定不要施力么

【 在 mynight02 (一束星光) 的大作中提到: 】
: 船用得小一点,多测几次,就可以克服这种误差。
: 而且要固定船让它不晃,一点也不难。

S
SLE

小船载不了大象

【 在 mynight02 (一束星光) 的大作中提到: 】
: 船用得小一点,多测几次,就可以克服这种误差。
: 而且要固定船让它不晃,一点也不难。

scraper

估计曹营里有欧洲人教授曹冲阿基米德物理?

【 在 curiousami(归去来) 的大作中提到: 】

: 曹冲称象 (历史故事)

: 原文:曹冲生五六岁,智意所及,有若成人之智。时孙权曾致巨象,太祖欲知其斤重,

: 访之群下,咸莫能出其理。冲曰:“置象大船之上,而刻其水痕所至,称物以载之,则

: 校可知矣。”太祖悦,即施行焉。

: 曹冲五六岁就能想出这个办法,确实有智慧

bobolan88

不需要吧。只需要相同重量的排水量相同就可以称,不需要知道等于排水量。

【 在 scraper (求白妞包养) 的大作中提到: 】
: 估计曹营里有欧洲人教授曹冲阿基米德物理?
:
: 曹冲称象 (历史故事)
:
: 原文:曹冲生五六岁,智意所及,有若成人之智。时孙权曾致巨象,太祖欲知其
: 斤重,
:
: 访之群下,咸莫能出其理。冲曰:“置象大船之上,而刻其水痕所至,称物以载
: 之,则
:
: 校可知矣。”太祖悦,即施行焉。
:
: 曹冲五六岁就能想出这个办法,确实有智慧
:

bnw

其实可以用多担沙子代替石头。一担沙子可以事先称重,之后就往船上一担一担倒沙子就可以了。

xt

就这水平,应该是刷题最简单的都做不对。

正确的方法是第一次一个人/石头,第二次两个,第三次四个,
知道吃水线到水面或者水下,然后对最后一批二分法递归。

你看,这可是LOG(N)算法呀!

【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: 这个算法的局限性在于,挑石子和称石子太麻烦。
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: ...................

xt

你这个仍然是O(N)算法,差评。

【 在 bnw (中国人民是党的铜墙铁壁) 的大作中提到: 】
: 其实可以用多担沙子代替石头。一担沙子可以事先称重,之后就往船上一担一担倒沙子
: 就可以了。

bnw

至少比每块石头都称重快1倍,用沙子,只需称一满但的沙子和最后不满但的沙子

【 在 xt(拷贝猫) 的大作中提到: 】

: 你这个仍然是O(N)算法,差评。

m
mynight02

古代一种记重方式是斗量。
其实现代也用到这种方式,比如白糖,一袋就是50磅没有人真的一袋袋去量。
曹冲提供了一个方法,而优化是另外的事情。

【 在 xt (拷贝猫) 的大作中提到: 】
: 就这水平,应该是刷题最简单的都做不对。
: 正确的方法是第一次一个人/石头,第二次两个,第三次四个,
: 知道吃水线到水面或者水下,然后对最后一批二分法递归。
: 你看,这可是LOG(N)算法呀!

honyi97

士兵比石头差远了。石头的密度远比人体大。一头像大约4吨,8000-1万斤,大约相当
于3方土石,3-5个人。如果用能撑2-3百斤的秤,大约称30次就行。5-6个人俩钟头搞定。但是上人,大约要上70多人。麻烦的多。
【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: 这个算法的局限性在于,挑石子和称石子太麻烦。
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: ...................

t
thinkaout

是个不错的思路,尤其小学生能想出来,不容易。 不过,石头也好,士兵也好,可能
会让船体倾斜,未必能准确达到船吃水的刻度。一个办法是往船上一桶一桶得放水,水在船里均匀分布。
【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: 这个算法的局限性在于,挑石子和称石子太麻烦。
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: ...................

xt

对啊,问题是这座楼不就是讨论优化吗?楼主这种O(n)算法
显然是不最优啊,以后万一FLG增加一道什么Sunjay称象,
我至少提供了最佳答案啊。

【 在 mynight02 (一束星光) 的大作中提到: 】
: 古代一种记重方式是斗量。
: 其实现代也用到这种方式,比如白糖,一袋就是50磅没有人真的一袋袋去量。
: 曹冲提供了一个方法,而优化是另外的事情。

G
GouSheng

假设士兵体重100斤,每次挑沙子200斤,5个士兵就差不多挑满沙子了,按你的做法,
要10个士兵上去,未必快

【 在 kevinloop (小旋风) 的大作中提到: 】
: 这个我想过。用石子和用人都是通过船体的刻度的match来称的。我的意思是称人更方
: 便。曹操并不是想知道具体的几斤几两,只是想知道比如大象大概是1万斤,还是一万
: 五千斤,等等。用人和用石子差别不大。

dinassor

能称人就能称大象了,你这算穿越做法

【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
:
: 这个算法的局限性在于,挑石子和称石子太麻烦。
:
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.让一些士兵走到船上,船体到达划的刻度结束。
: 5.让士兵们走下船,称士兵们的体重,估算出大象的重量。
:
: 我的算法的好处是士兵们上船下船,比挑石子简单很多。
:
: 我上小学的时候学这篇课文就跟老师提过这个算法。但是被老师说我不专心理解课文、
: 胡思乱想。
ratzinger

楼主想法应该得到表扬,当时的老师没有创意,缺乏幽默感

楼主记仇一辈子,小心眼,自高自大,典型wsn
u
utaustine

改进方法挺好的
不过 只是雕虫小技
用处不大

【 在 kevinloop (小旋风) 的大作中提到: 】
: 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: 3.把大象牵回岸上。
: 4.士兵们挑石子到船上,船体到达划的刻度结束。
: 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: 这个算法的局限性在于,挑石子和称石子太麻烦。
: 我的改进算法是:
: 1.准备一只空船。
: 2.牵引大象到船上,划出船吃水的刻度。
: ...................

v
villandry

这是正解。人的比重比石头小太多,估计船装不下那么多人

【 在 yugong (愚公挖坑) 的大作中提到: 】
: 估计是小船上站满士兵可能也无法把船压到大象的吃水线,你有不能让他们叠罗汉。你
: 想人站的稀稀拉拉的,大象又高,整体密度就不一样了。
: 船要很大才能站很多人,但是弄个大船称又比较麻烦。也许只是在护城河或者园林的池
: 塘里称,没那么大的船呗。
: 石头就无所谓,随便往上垒,船不需要太大,大家都不麻烦。
: :曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:: :1.准备一只空船。

kevinloop

今天早上大家在讨论印度的大象,然后在讨论中国有没有大象,于是想到小时候学曹冲称象的事情了。
【 在 ratzinger (周星星) 的大作中提到: 】
: 楼主想法应该得到表扬,当时的老师没有创意,缺乏幽默感
: 楼主记仇一辈子,小心眼,自高自大,典型wsn

kevinloop

能称人的东西到处都有,称人的办法也很多。但是大象的体重大约是人的100倍。当然
不是能称人就能称大象了。即使现在,要称大象也很难。
【 在 dinassor (牛磨王) 的大作中提到: 】
: 能称人就能称大象了,你这算穿越做法

j
jiujanoufu

在空船的水面线做个记号。把象牵上船后,在载象后船的水面线再做上另外一个记号。量一下这两个记号之间的距离,假设这个距离是Lx,也就是象距。把象牵走后,令民工抬过磅后的几筐石头,假设这几筐石头的重量是Ws, 也就是石重。在载石后船的水面线再做上一个记号。量一下空船的水面线和这个在石后水面线记号之间的距离,假设是Ls, 也就是石距。

那么象重(Wx)可以用以下公式求出:

Wx=Ws x Lx /Ls
iWater

测量精度在于那个最小砝码的离散化精度

拿人当砝码,精度过低

拿沙石当砝码,精度就是沙子的量级

j
jiujanoufu

在空船的水面线做个记号。把象牵上船后,在载象后船的水面线再做上另外一个记号。量一下这两个记号之间的距离,假设这个距离是Lx,也就是象距。把象牵走后,令民工抬过磅后的几筐石头,假设这几筐石头的重量是Ws, 也就是石重。在载石后船的水面线再做上一个记号。量一下空船的水面线和这个载石后水面线记号之间的距离,假设是Ls, 也就是石距。

那么象重(Wx)可以用以下公式求出:

Wx=Ws x Lx /Ls
iWater

曹冲没学过 肉*鸡*艾去

calcityloan

曹冲是怎么知道阿基米德原理的?
他是如何确定:吃水线一样,重量就一样的?这背后的原理是将近2000年后才传入中国的。
当年的曹冲如果从理论上能确定他的做法是正确的,这个原理就应该被称为曹冲原理,而不是洋名阿基米德原理。
shaogege

你也知道100倍。赤壁之战的艨艟巨舰都未必能上的了100个人,人的密度比石头小太多了。
前面说的人体砝码,精度反而不是问题,可以上小孩啊

【 在 kevinloop (小旋风) 的大作中提到: 】
: 能称人的东西到处都有,称人的办法也很多。但是大象的体重大约是人的100倍。当然
: 不是能称人就能称大象了。即使现在,要称大象也很难。

skl

锁男的最大问题就是单线程思考问题,古代的秤是秤砣加杆和铁钩,尼玛是不是要把士兵一个个捆起来像杀猪一样称重?
iioooo

就是。哈哈

【 在 beattie (永恒的猪肉卷) 的大作中提到: 】
: 士兵显然不够精确嘛 你打算切腿还是切jj
:
: 【 在 kevinloop (小旋风) 的大作中提到: 】
: : 曹操想知道大象的大致重量,比如是一万斤,还是两万斤等。曹冲称象的算法是:: : 1.准备一只空船。
: : 2.牵引大象到船上,划出船吃水的刻度。
: : 3.把大象牵回岸上。
: : 4.士兵们挑石子到船上,船体到达划的刻度结束。
: : 5.挑石子到岸上,称石子的重量,估算出大象的重量。
: : 这个算法的局限性在于,挑石子和称石子太麻烦。
: : 我的改进算法是:
: : 1.准备一只空船。
: : 2.牵引大象到船上,划出船吃水的刻度。
: : ...................
iWater

精度当然是个问题,小孩与沙,根本不在一个量级上
改进的方法(不应该叫算法)很简单:
人+沙,既保证测量精度,又保证测量速度

【 在 shaogege (soul) 的大作中提到: 】
: 你也知道100倍。赤壁之战的艨艟巨舰都未必能上的了100个人,人的密度比石头小太多
: 了。
: 前面说的人体砝码,精度反而不是问题,可以上小孩啊

WannaCry

你还是太外行,改进的方法叫做策略,策略就是典型的算法特征啊

精度=误差,这问题很好解决,小学时候就教过了,消除误差就是积累大量数据,多次
测量求平均值,并没有多少投机取巧的方法

就好比新冠,搞死它并没有什么“人民的希望”,疫苗。而是隔离这等原始有效的。

【 在 iWater (aspire to inspire before i expire) 的大作中提到: 】
: 精度当然是个问题,小孩与沙,根本不在一个量级上
: 改进的方法(不应该叫算法)很简单:
: 人+沙,既保证测量精度,又保证测量速度

dinassor

古代怎么称人的重量

【 在 kevinloop (小旋风) 的大作中提到: 】
: 能称人的东西到处都有,称人的办法也很多。但是大象的体重大约是人的100倍。当然
: 不是能称人就能称大象了。即使现在,要称大象也很难。
: 【 在 dinassor (牛磨王) 的大作中提到: 】
: : 能称人就能称大象了,你这算穿越做法
kevinloop

大称。有称盘的一方换成箩筐,人躺在箩筐里称。
【 在 dinassor (牛磨王) 的大作中提到: 】
: 古代怎么称人的重量

iWater

硬要说是算法也行,但这么简单的事,硬要套个算法的名号,装逼的气味浓烈
大量测,是用来消除随机误差的,并不能改善测量精度
楼上切鸡鸡的同学既透彻又幽默

【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 你还是太外行,改进的方法叫做策略,策略就是典型的算法特征啊
: 精度=误差,这问题很好解决,小学时候就教过了,消除误差就是积累大量数据,多次
: 测量求平均值,并没有多少投机取巧的方法
: 就好比新冠,搞死它并没有什么“人民的希望”,疫苗。而是隔离这等原始有效的。

w
wdmm

对,楼主以为是现代的台称呢。自已为聪明。

【 在 Martinitz (martinitz) 的大作中提到: 】
: 你用杆秤称头猪,就知道称人简单还是称石头简单

WannaCry

策略即算法,算法即策略。绝对不是牵强附会,拒绝解释

【 在 iWater (aspire to inspire before i expire) 的大作中提到: 】
: 硬要说是算法也行,但这么简单的事,硬要套个算法的名号,装逼的气味浓烈
: 大量测,是用来消除随机误差的,并不能改善测量精度
: 楼上切鸡鸡的同学既透彻又幽默

s
sgzhang


我这个方法会不会效率更高,更精确?

1.选择早上或傍晚太阳斜射的时刻
2.测量空船桅杆最高点位置A
3.把大象拉上船头,测量此时桅杆最高点位置B
4.大象下去,10+士兵上船头,测量此时桅杆最高点位置C

通过测量AB,AC距离,及士兵们重量,算出大象重量
s
sgzhang


更正:

桅杆最高点位置在地面投影A,B,C
r
rihei

不傻逼

左叉嘛,洗脑制造无脑的韭菜是第一要务
所以是绝对不允许你有自己独立的思想的

美国左叉不一样的?
表面上说要独立思考,其实他妈逼的左叉们一直在搞统一思想

【 在 maajia (马甲) 的大作中提到: 】
: 你的老师傻逼。 你应该得到夸奖。你现在的成就应该收益于你的独立思考。

WannaCry

别鸡巴瞎扯了,计算大象重力的方式可多了

凡是你们所知道的初中也好,高中也好物理学过的,带有质量的公式都可以用上,都是一种办法

例如测量一个悬崖的高度,然后赶着大象摔下去,你只要个秒表就ok,连称都不用。

【 在 sgzhang (sgzhang) 的大作中提到: 】
: 更正:
: 桅杆最高点位置在地面投影A,B,C

zeami

算完得一摊橡皮泥

【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 别鸡巴瞎扯了,计算大象重力的方式可多了
: 凡是你们所知道的初中也好,高中也好物理学过的,带有质量的公式都可以用上,都是
: 一种办法
: 例如测量一个悬崖的高度,然后赶着大象摔下去,你只要个秒表就ok,连称都不用。

s
sgzhang


这个摔大象时间和一个士兵摔下去一样吧。。。

【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 别鸡巴瞎扯了,计算大象重力的方式可多了
: 凡是你们所知道的初中也好,高中也好物理学过的,带有质量的公式都可以用上,都是
: 一种办法
: 例如测量一个悬崖的高度,然后赶着大象摔下去,你只要个秒表就ok,连称都不用。

SimpleRed

那还不如每个士兵都抱着一块石头上船,那样更快。
WannaCry

一般说来,得火烤下,烧掉皮肤汗腺的腥味,这也是我们吃猪肉常用手段

然后用葱姜,加盐,放水,得手搓出黏滑感,把这水参合到大象馅中

不说了,说了你你们也不懂我们高超的手艺,别被唐人街那些厨师误导了

【 在 zeami (贼阿米) 的大作中提到: 】
: 算完得一摊橡皮泥

iWater

前面有人提过的,需要船的每个横截面都是等面积这个前提
才能用吃水深度(aka 桅杆投影长度)的比例来算
所谓的 肉*鸡*爱去,否则两边的横截面积消不掉,是个积分方程
这个好像是初中物理

【 在 sgzhang (sgzhang) 的大作中提到: 】
: 我这个方法会不会效率更高,更精确?
: 1.选择早上或傍晚太阳斜射的时刻
: 2.测量空船桅杆最高点位置A
: 3.把大象拉上船头,测量此时桅杆最高点位置B
: 4.大象下去,10+士兵上船头,测量此时桅杆最高点位置C
: 通过测量AB,AC距离,及士兵们重量,算出大象重量

zeami

辣摸大的一滩得上搅拌机啊,手搓丸子得搓半年

【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 一般说来,得火烤下,烧掉皮肤汗腺的腥味,这也是我们吃猪肉常用手段
: 然后用葱姜,加盐,放水,得手搓出黏滑感,把这水参合到大象馅中
: 不说了,说了你你们也不懂我们高超的手艺,别被唐人街那些厨师误导了

WannaCry

然后是一个士兵和一块石头摔下去也差不多吧

得,我们用扔块石头下去,算下就知道大象体重了。

【 在 sgzhang (sgzhang) 的大作中提到: 】
: 这个摔大象时间和一个士兵摔下去一样吧。。。

xt

古代有秒表?有秒这个单位吗?哈哈

【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 别鸡巴瞎扯了,计算大象重力的方式可多了
: 凡是你们所知道的初中也好,高中也好物理学过的,带有质量的公式都可以用上,都是
: 一种办法
: 例如测量一个悬崖的高度,然后赶着大象摔下去,你只要个秒表就ok,连称都不用。

shaogege

整个测量过程,人和象出出入入船要时间吗,太阳都到正午了

【 在 sgzhang (sgzhang) 的大作中提到: 】
: 更正:
: 桅杆最高点位置在地面投影A,B,C