首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

关于万人开打烊

2012-10-28 
关于万人开关门关于万人开关门原题:@数学文化:#周末数学题# (转载在美国的一个朋友的电邮)我小孩上初中的

关于万人开关门
关于万人开关门
原题:
@数学文化:#周末数学题# (转载在美国的一个朋友的电邮)我小孩上初中的第一次数学作业:有1万 个人和1万个关着的门, 第一人把所有的门打开,第二个人把所有的偶数门关上,第三个人把所有三的倍数门打开,第四个人把所有四的倍数门关上,依此类推,1万人都折腾一遍后,哪些门开着?那些门关着?

思考过程:
如果,是按顺序进行,前一人全部做完之后,后一个人才开始做,要做多久啊。
所以,先算出结果,然后,一万人同时做,瞬间解决问题,并且省了无数的无用功。

等等,题目中没说按人的顺序进行的,也就是说,这一万个人,有可能同时开始执行任务的。也有可能,随机开始的。
如果是随机开始,那根本无解。
如果是同时开始的话,全开着。任务同时开始,别人都做完了,第一个人还在做。。。最后,他把所有的门全打开了。

嗯,这就是一道扯蛋的题,所以,只要能解释得通,就算正确吧main(){boolean isClose=true;boolean[] doorStauts=new boolean[10000];for(doorNumber=10000;doorNumber>0;doorNumber--){for(pNumber=10000;pNumber>0;pNumber--){ if(isPWillOperation(pNumber,doorNumber)){ doorStauts[doorNumber]=isClose; break; }}isClose=!isClose;}}boolean isPWillOperation(int pNumber, int doorNumber){............}

如果是顺序操作,反着来会省事一些··· 33 楼 cgret 2011-06-16   suwey 写道lzyzizi 写道刚才回头看了下问题,发现有个地方很多人都理解错了,除数的奇偶性无法判断门的开关,因为只有奇除数是关门而偶除数是开门。。。
比如:4的除数 1,2,4。按照质因数分解的思路,他应该是关着的,但是仔细看题会发现2和4都是关门,也就是说1开门以后,2关门,4也关门。。。也就是说4根本不会关心当前门的状态,执行他所应该执行的动作,所以其实门开不开只由最后一个开关人的决定。

night_stalker 写道哦,每个门只受最后一个碰它的人影响,最后一个碰它的人的号码和门相同。
1开2关3开4关5开6关??
所以结果就是奇数门开,偶数门关 ??

原来正解早就出现。。。

我也觉得这个解释已经对了。。不知道为什么还有那么多复杂的讨论
答案不是出来了么? 34 楼 alexandrae2008 2011-06-17   有1万 个人和1万个关着的门, 第一人把所有的门打开,第二个人把所有的偶数门关上,第三个人把所有三的倍数门打开,第四个人把所有四的倍数门关上,依此类推,1万人都折腾一遍后,哪些门开着?那些门关着?

大家考虑的太复杂了。

第N个人只会把N的倍数的门开或者关,开还是关,是和N的奇偶相关的,奇数开,偶数关。
比如2碰到2号门是被1开了,2关上,3碰到3号门被1开了,3不会重复去开,而是维持原样。
同理4号门被2关了,4这个人看到门关了,不会去重复再关一次的,而是直接跳过。
正解就是1到10000里,奇数门开,偶数门关 35 楼 tiandp007 2011-06-17   zhangchang 写道liaofeng_xiao 写道zhangchang 写道tiandp007 写道zhangchang 写道tiandp007 写道【第N个人把所有的N的倍数门关/开】----注意到【所有的】了没?
第1个门  第1个人 最后一次操作
第2个门  第2个人 最后一次操作
第3个门  第3个人 最后一次操作
第N个门  第N个人 最后一次操作
答案非常明显{1开、2关、3开......10000关}

为什么会有质数、素数、因子、平方数、正则表达式等等高深的讨论?

明显没有看懂题意

哥们,别装那么高深了..说说你的理解和解法。


每扇门被开关的次数就是该扇门编号的质因数的个数。
每扇门最初的状态是“关”,如果门编号的质因数个数是偶数的话,最终状态就是“关”,奇数的话就是“开”。
而在数学上有个很简单的定理,完全平方数的质因数个数一定是奇数个。

所以最终结论就是:
1,4,9,16,25,36,49,64,81 ...... 100^2
以上这些门最后是开着的,其余的门都是关闭的。




请问,第三道门怎么是关着的?

第一个人把所有门都打开了,3号门开。
第二个人把所有偶数门都关上了,3号门开。
第三个人把所有3的倍数的门开关一次,3号门关。
之后的人都不会再去碰3号门了,所以最终状态就是关。

1、我已经给你讲解过了,门的(开关)状态只与最后一次操作它的人有关,你列举的时候也有这种思路... 你却偏偏没抽象出来。
2、3号门最后一次操作是第三个人(开),你也说了,之后就都不会再去碰3号门了,你却依然得出结论3号门关!
3、数学上有个很简单的定理,那是因为你记住了。这道题你解错那是因为你死套定理了。 36 楼 liaofeng_xiao 2011-06-20   tiandp007 写道zhangchang 写道liaofeng_xiao 写道zhangchang 写道tiandp007 写道zhangchang 写道tiandp007 写道【第N个人把所有的N的倍数门关/开】----注意到【所有的】了没?
第1个门  第1个人 最后一次操作
第2个门  第2个人 最后一次操作
第3个门  第3个人 最后一次操作
第N个门  第N个人 最后一次操作
答案非常明显{1开、2关、3开......10000关}

为什么会有质数、素数、因子、平方数、正则表达式等等高深的讨论?

明显没有看懂题意

哥们,别装那么高深了..说说你的理解和解法。


每扇门被开关的次数就是该扇门编号的质因数的个数。
每扇门最初的状态是“关”,如果门编号的质因数个数是偶数的话,最终状态就是“关”,奇数的话就是“开”。
而在数学上有个很简单的定理,完全平方数的质因数个数一定是奇数个。

所以最终结论就是:
1,4,9,16,25,36,49,64,81 ...... 100^2
以上这些门最后是开着的,其余的门都是关闭的。




请问,第三道门怎么是关着的?

第一个人把所有门都打开了,3号门开。
第二个人把所有偶数门都关上了,3号门开。
第三个人把所有3的倍数的门开关一次,3号门关。
之后的人都不会再去碰3号门了,所以最终状态就是关。

1、我已经给你讲解过了,门的(开关)状态只与最后一次操作它的人有关,你列举的时候也有这种思路... 你却偏偏没抽象出来。
2、3号门最后一次操作是第三个人(开),你也说了,之后就都不会再去碰3号门了,你却依然得出结论3号门关!
3、数学上有个很简单的定理,那是因为你记住了。这道题你解错那是因为你死套定理了。

哈哈,你再看看题意看看自己是否理解错了。。。 37 楼 achun 2011-06-20   night_stalker 写道哦,每个门只受最后一个碰它的人影响,最后一个碰它的人的号码和门相同。
1开2关3开4关5开6关??
所以结果就是奇数门开,偶数门关 ??
正解,我的解释方法是:
不管门的上一次状态是什么,n号人总是保障n号门的应属状态,因为一个数的最小整数倍数就是他自己。
而规则就是:奇数开,偶数关
38 楼 huhu_long 2011-06-21   zjriso 写道lyw985 写道Crusader 写道zhanghh321 写道1号门有1个人碰过
2号门有2个人碰过
3号门有3个人碰过
4号门有4个人碰过
....
答案很明显  啦
-1

-2
-3
-4 39 楼 huhu_long 2011-06-21   achun 写道night_stalker 写道哦,每个门只受最后一个碰它的人影响,最后一个碰它的人的号码和门相同。
1开2关3开4关5开6关??
所以结果就是奇数门开,偶数门关 ??
正解,我的解释方法是:
不管门的上一次状态是什么,n号人总是保障n号门的应属状态,因为一个数的最小整数倍数就是他自己。
而规则就是:奇数开,偶数关


正解 40 楼 wangyuelucky 2011-06-22   看不下去咧,说下个人想法:

无论之前的人们怎么动门,2号小孩儿肯定把2号门关闭,3号小孩肯定把3号门打开,4号小孩儿肯定把4号门关闭,5号小孩儿肯定把5号门打开.....,依次类推,9999号小孩儿把9999号门打开,10000号小孩儿把10000号门关闭。

最后:奇数编号门 打开;偶数编号门 关闭。 41 楼 ywwan2 2011-06-22   huhu_long 写道zjriso 写道lyw985 写道Crusader 写道zhanghh321 写道1号门有1个人碰过
2号门有2个人碰过
3号门有3个人碰过
4号门有4个人碰过
....
答案很明显  啦
-1

-2
-3
-4
-5 42 楼 kuchaguangjie 2011-06-23   简单的初中数学题 43 楼 songqianyisky 2011-06-23   night_stalker 写道哦,每个门只受最后一个碰它的人影响,最后一个碰它的人的号码和门相同。
1开2关3开4关5开6关??
所以结果就是奇数门开,偶数门关 ??
顶,这才是正解嘛,有必要复杂化吗? 44 楼 BuN_Ny 2011-06-24   初中数学题,我记得我们初中刚学解方程。 45 楼 shanga 2011-06-24   wangyuelucky 写道看不下去咧,说下个人想法:

无论之前的人们怎么动门,2号小孩儿肯定把2号门关闭,3号小孩肯定把3号门打开,4号小孩儿肯定把4号门关闭,5号小孩儿肯定把5号门打开.....,依次类推,9999号小孩儿把9999号门打开,10000号小孩儿把10000号门关闭。

最后:奇数编号门 打开;偶数编号门 关闭。
我想问一下,在1000号小孩关闭10000号门之前,10000号门的状态是关还是开?你上面说的用屁股想都知道,因式分解问题(包含1),根据因子个数(就是门动了几次)判断开关 46 楼 wangyuelucky 2011-06-27   shanga 写道wangyuelucky 写道看不下去咧,说下个人想法:

无论之前的人们怎么动门,2号小孩儿肯定把2号门关闭,3号小孩肯定把3号门打开,4号小孩儿肯定把4号门关闭,5号小孩儿肯定把5号门打开.....,依次类推,9999号小孩儿把9999号门打开,10000号小孩儿把10000号门关闭。

最后:奇数编号门 打开;偶数编号门 关闭。
我想问一下,在1000号小孩关闭10000号门之前,10000号门的状态是关还是开?你上面说的用屁股想都知道,因式分解问题(包含1),根据因子个数(就是门动了几次)判断开关


当然,我说的是1W小孩儿,顺次执行自己的任务的解法。也就是第1w个小孩儿要等前面所有小孩儿都执行完,才执行自己的任务。

如果,无序执行的话,正如楼主所述,是无解滴!

我诺诺的问一下:第1w个小孩儿在关第1w号门的时候,他需要考虑“因式分解”、“因子个数”这些东东吗?我觉得他要做的就是,如果门开着,就把门关上;如果门关闭,就把锁锁上。

对了,哥们,以后不要用屁股想问题了,你会很蛋疼滴!!

热点排行