突破点:
1.尽可能利用已经鉴别的标准球
2.每次鉴别要涉及最多的球,并保证结果的可区分性(见第二步分析过程)
方法:最坏情况考虑
解答: 1.首先把12个球分成4,4,4. 把任意两份4放在天平两端。 如果天平平衡是最好解决的情况:i。天平上的8个球都是标准球 ii。坏球就在最后的那份4个球里 iii。从最后那份里拿出来两个放在天平上。如果天平仍然平衡,坏球就在剩下的最后两个球里,所以把其中一个拿出来和标准球一起放在天平上就可以分辨;如果天平不平衡,坏球就在天平上的两个球里,也是把其中一个拿出来和标准球比较就可以分辨。 所以,我们考虑最坏的情况,也就是天平不平衡。 2.这时候有几点基本结论:i。剩下的4个是标准球。 ii。坏球就在天平上。 第二次称法如下:把天平上重的一端拿出来3个球(称为“拿出的球”),把轻的一端拿出来3个球移到重的一端(称为“换位置的球”),最后把3个标准球放在轻的一端。这时候会有3种情况: 最简单的是天平变平衡了,则说明坏球在拿出去的球里,而且坏球是重的(因为原来那3个球在重的一端)。所以第三次从拿出去的球里拿出两个称一下,重的是坏球,一样重就是剩下那个。 其次比较简单的情况是天平变颠倒了,原来轻的变重了,原来重的变轻了。那么说明坏球在换位置的球里,而且是轻的(因为换位置的球本来是在轻的那一端)。同上面提到的平衡的情况再称一次可解。 所以,我们考虑最坏的情况,也就是天平没变化。 3.这个时候有几点结论:i。由第一次称的结果知道:坏球在天平上的6个球里。 ii。由第二次排除的变平衡和变颠倒的情况可知:坏球不在拿出去的球里,坏球也不在换位置的球里面。 所以,坏球只可能是天平上一直没有换地方的两个球里面的一个。用标准球再和其中一个一起称一次即可分辨。
问题:第一个海盗提出怎样的分配方案才能使自己的收益最大?
附加说明: 每个海盗的策略的优先级都依次是: 1.自己活命 2.获得尽可能多的钻石 3.杀死尽可能多的人
方法:逆向考虑
解答:
1.如果只剩5号。他肯定就会获得100颗钻石。
2.如果剩下4,5号。因为情况1对5号绝对有利,所以无论4号怎么分,5号也会投反对票,把4号杀死。
3.如果剩下3,4,5号。因为情况2里4号必死。所以无论3号怎么分,4号一定会投赞成票,而3号自己也会给自己投赞成票从而通过。所以这种情况下分配情况是:3号100个钻石,4号0个,5号0个。
4.如果剩下2,3,4,5号。因为在情况3里4号和5号只能分到0个钻石,所以,2号只要分给4号和5号各一个钻石就可以保证4号和5号比在情况3里要好,也就是保证4号和5号都投赞成票。再加上2号自己的赞成票,从而通过。所以这种情况下分配情况是:2号98,3号0个,4号1个,5号1个。
5.如果剩下1,2,3,4,5号。同理。只需保证一个人比情况4里的遭遇要好,他就会投你的赞成票。所以分配情况是:1号97个,2号0个,3号1个,4号2个,5号0个。(或者4号0个,5号2个。)
3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日
小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了 请根据以上对话推断出张老师的生日是哪一天??
突破点:“小明说:如果我不知道的话,小强肯定也不知道”前面的“如果”那个条件是句废话,因为小明一定不知道,所以这句话等同于:“小明说:小强肯定不知道”
解答:
1.因为每个月至少有2个日子。所以小明只知道月份是肯定不会知道老师生日的。所以小明说:如果我不知道的话,小强肯定也不知道”==:“小明说:小强肯定不知道”
2.如果“小明说:小强肯定不知道”。那么肯定小明拿到的月份不是6和12.否则他就不能这么“肯定”了。(小强拿到2或7就有可能知道)
3.经过步骤2还剩下以下几个日期:3.4/3.5/3.8/9.1/9.5。这些信息也是小强目前可以分析出来的。但小强看到这几个日期却说“我知道了”。所以,小强拿到的日期一定是4,8或者1.(如果是5就不能确定了)
4.经过步骤3就可以确定以下几个日期:3.4/3.8/9.1。这些信息也是小明目前可以分析出来的所有信息。但小明却说“我也知道了”。所以,小明拿到的月份一定是9.(如果是3就不能确定了)
5.经过3,4两步的分析可知:老师生日为9.1
题意其实是说:让你把金条两刀分成3段。然后这个星期就可以把这3段当成money,每天都可以给员工发工资了。 最简单的是切成一样长的7段。每天发1段。 如果精简些的话,就1,2,4.这样也可以组成所有数目的钱数。 比如第一天给员工1/7金条。 第二天把他的金条都收回来,再给他2/7金条。 同理,以后可以组成:2+1,4,4+1,4+2,4+2+1来发给他每天应得的工资
突破点:普通思维是利用天平(无砝码,不看具体重量)称n次就从3的n次方的样品里找到一个重的次品。这里一定要突破这种窠臼。也就是:
1.可以用砝码称出准确的重量。
2.样品:装药丸的罐子是可以再分的。
解答:记罐子标号为1,2,3,4. 则从1号罐子里取1个药丸,2号罐子里取2个药丸,3号罐子里取3个药丸,4号罐子里取4个药丸。 然后称这些药丸的总重量。如果大家都不污染,将会是药丸标准重*10.但因为其中有污染的,所以实际总重量会比这个重。重几个单位就说明有几个污染的药丸。所以也就是从几号瓶里取出来的。
突破点:无论在门外怎么组合开关,也不可能在室内看到所有灯的答案。所以一定要突破这种形式才能求解。
解答:首先在门外开开两个灯,等待5分钟后关掉其中一个。进屋后亮着的灯对应开着的开关,灭着但摸着有些温度的灯对应刚刚关掉的那个开关。
这道题我理解的题意是设计一种分配方法使得从某个罐子里抓到的球是红球的概率最大。 那么。试验几种方法,可以发现极端的分配方案效果最好: 1个罐子放1个红球。其他所有球放在另一个罐子里。
突破点:1.分清对象。2.加减法 (有点像初中时学受力分析)
解答:对于王老板,进账为+,出账为-。则: -18+100-79-100=-97
突破点:如果把香两头点就可以确定一半的时间。
解答:首先把一根香两头点着,另一根只点一头。然后当一根烧完时(半小时了),把剩下的那根的另一头也点燃。那么剩下那根还需要15分钟才能烧完。
问有多少人戴着黑帽子?
突破点:第二次熄灯有什么意义?如果一个人看见其他人中只有一个人戴黑帽子。那么他首先会以为只有那个人戴。但第一次熄灯那个人并没有自己打耳光,所以可以肯定是那个人看到了自己也是黑帽子,所以才有了一样的想法。都没有打。
解答:总共有3个人戴黑帽子。设为a,b,c。以a为例。a看到只有b和c戴黑帽子。第一次黑灯他当然不会打。第二次黑灯时,如果只是b,c戴黑帽子那么他们就都会自己打耳光。但仍然没有,那么就只有一种情况:自己也是黑帽子。所以第三次他们3个就自己打自己了。
设7两的勺子为a,11两的勺子为b。
操作和结果如下:(初始两个勺子空)
操作 结果 收尾操作
b->full,b->a b=11-7=4 a->empty,
b->a a=4 b->full,
b->a b=11-(7-4)=8 a->empty,
b->a b=8-7=1 a->empty,
b->a a=1 b->full,
b->a b=11-(7-1)=5 a->empty,
b->a a=5 b->full,
b->a b=11-(7-5)=9 a->empty,
b->a b=9-7=2
http://www.guokr.com/post/305555/
突破点:下一次狐狸不能跳入2个x所包围的洞,x表示上次肯定“不在”的洞。利用该方法,不断地检查x的间隔1位的位置,直到没有间隔了再检查最靠近多x的一边的非x的位置。
解答:最坏情况6天,答案不唯一,示例分析过程举例如下:
设洞的位置依次为1-5,最2边的位置记为0和7,用x表示狐狸不可能在的位置,0表示可能在的位置
第一天状态为x00000x,间隔一个x检查,即检查2洞,总是按最坏情况假设,即没捉到,结果变为x0x000x;
第二天根据昨天状态x0x000x,今天状态为xx0000x(x包围的位置变为x,其他为0),检查3洞,状态变为xx0x00x;
第三天状态xx0x00x->x0x000x,检查4洞,状态x0x0x0x;
第四天状态x0x0x0x->xx0x0xx,检查2洞,状态xxxx0xx;
第五天状态xxxx0xx->xxx0x0x,检查3洞,状态xxxxx0x;
第六天状态xxxxx0x->xxxx0xx,检查4洞,肯定可以抓到狐狸(此时状态xxxxxxx,没有狐狸藏身之处)。
说明:答案不唯一,最坏情况下,最少6天可以捉到狐狸。
推演如下:
1个洞最多1天,
2个洞最多2天,x00x->xx0x=>x0xx->xxxx
3个洞最多2天,x000x->x0x0x(1天完成没有连续的0)=>xx0xx->xxxxx
4个洞最多4天,x0000x->x0x00x(2个连续0)=>xx000x->xx0x0x(2天完成没有连续的0)=>x0x0xx->x0xxxx=>xx0xxx->xxxxxx
5个洞最多6天,x00000x->x0x000x(3个连续0)=>xx0000x->xx0x00x(2个连续0)=>x0x000x->x0x0x0x(3天完成没有连续的0)=>xx0x0xx->xxxx0xx=>xxx0x0x->xxxxx0x=>xxxx0xx->xxxxxxx
6个洞最多8天,x000000x->x0x0000x(4个连续0)=>xx00000x->xx0x000x(3个连续0)=>x0x0000x->x0x0x00x(2个连续0)=>xx0x000x->xx0x0x0x(4天完成没有连续的0)=>x0x0x0xx->x0x0xxxx=>xx0x0xxx->xx0xxxxx=>x0x0xxxx->x0xxxxxx=>xx0xxxxx->xxxxxxxx
7个洞最多10天,x0000000x->x0x00000x(5个连续0)=>xx000000x->xx0x0000x(4个连续0)=>x0x00000x->x0x0x000x(3个连续0)=>xx0x0000x->xx0x0x00x(2个连续0)=>x0x0x000x->x0x0x0x0x(5天完成没有连续的0)=>xx0x0x0xx->xxxx0x0xx=>xxx0x0x0x->xxxxx0x0x=>xxxx0x0xx->xxxxxx0xx=>xxxxx0x0x->xxxxxxx0x=>xxxxxx0xx->xxxxxxxxx
8个洞最多12天,x00000000x->x0x000000x(6个连续0)=>xx0000000x->xx0x00000x(5个连续0)=>x0x000000x->x0x0x0000x(4个连续0)=>xx0x00000x->xx0x0x000x(3个连续0)=>x0x0x0000x->x0x0x0x00x(2个连续0)=>xx0x0x000x->xx0x0x0x0x(6天完成没有连续的0)=>x0x0x0x0xx->x0x0x0xxxx=>xx0x0x0xxx->xx0x0xxxxx=>x0x0x0xxxx->x0x0xxxxxx=>xx0x0xxxxx->xx0xxxxxxx=>x0x0xxxxxx->x0xxxxxxxx=>xx0xxxxxxx->xxxxxxxxxx
…
x个洞,使用x-2天完成没有连续的0,全部最多需要2*(x-2)天。
问熊的颜色?
解答:白色。
只有在北极点,可以做到,先向南走,再向东,再向北走,可以回到原地。
北极可以看到的是北极熊。
所以,熊是白色的。
1)包括这道题在内,所有数字题答案总和为:( ){整数}
2)所有是非题中,几道题的答案是“是”?( ){整数}
3)第一题答案是所有数字题答案最大的。( ){是/非}
4)包括这道题在内,有几道题答案和本题答案相同? ( ){整数}
5)所有数字题答案都是正数。( ){是/非}
6)包括这道题在内所有数字题答案平均值为:( ){整数}
7)第四题的答案大于第二题的答案。( ){是/非}
8)第一题的答案除以第八题的答案,等于 ( ){整数}
9)第六题的答案等于第二、第四题答案的差,减去第四、第八题答案的积。( ){是/非}
10)本题答案为:( ){此题可能是是非题,也可能是整数题}
突破点:利用好数字题的公式关系来推导,先从可以确定的题目入手,然后不断深入。期间对一些分支需要作出合理假设并验证可行性。
解答:设数字题答案和题号对应分别为:a1, a2, a4, a6, a8,是非题答案和题号对应分别为:b3, b5, b7, b9,未知类型题为c10,且在下面的分析中c10参与的运算都为不确定(可能带或者不带c10),除非c10变为a10或者b10。
第一轮分析,可以明确的结论:
1.1:由1)可知:a1+a2+a4+a6+a8+c10=a1。结论:a2+a4+a6+a8+c10=0
1.2:由2)可知,结论:0= 1.4:由4)可知:本题答案和本题答案一定相同,所以a4>=1,故,结合结论1.1可知:其他几个至少有1道题为负数(且由结论1.2可知负数不是a2),那么至少有1道题和本题答案不同,所以,a4<=5。结论:1<=a4<=5,a6|a8|c10<0 1.5:由5)可知,由结论1.4可知,结论:b5=非 1.6:由6)可知:(a1+a2+a4+a6+a8)/5=a6或者(a1+a2+a4+a6+a8+a10)/6=a6,结论:a6=(a1+a2+a4+a8)/4为整数,或者a6=(a1+a2+a4+a8+a10)/5为整数 1.8:由8)可知:a1/a8=a8,结论:a1=a8*a8 第二轮分析,可以明确的结论: 2.2:由结论1.5可知,结论:0<=a2<=4 第三轮分析,已经没有明显的明确结论,接下来进行假设推断: 假设c10非数字,则结论1.1,1.4,1.6可以简化为: a2+a4+a6+a8=0, a6|a8<0, a6=(a1+a2+a4+a8)/4 由1.6和1.8可知:a1+a2+a4+a8=4a6,即:a8a8+a2+a4+a8=4a6,该公式和1.1相减消去a2和a4可得:a8a8-a6=4*a6, 即:a6=(a8*a8)/5,为非负整数,那么,根据1.4可知a8为负数,且绝对值为5的倍数。 设a8=-5x,x为正整数,把该值和上步a6的值代入a2+a4+a6+a8=0得到:a2+a4+(a8a8)/5+a8=a2+a4+5xx-5x=0,故a2+a4=5x*(1-x),故:x=1时,a2+a4=0,或者x>=2时,a2+a4<0,这点与1.2和1.4矛盾。 故结论c10为数字,故更新结论: 3.1:a2+a4+a6+a8+a10=0 3.2:0<=a2<=3 3.4:1<=a4<=5,a6|a8|a10<0 3.6:a6=(a8*a8+a2+a4+a8+a10)/5为整数 第四轮分析,从3.1和3.6的结论里进一步分析: 将3.1代入3.6得到 a6=(a8a8-a6)/5,即a8a8=6*a6 更新结论: 4.8:a1=a8a8=6a6,且a1,a8为6的倍数 4.4:1<=a4<=5,a1>=0, a6>=0, a8|a10<0 第五轮分析,仍然没有明显的明确结论,接下来进行假设推断: 假设a4=5,则还需要有4个5,结合4.4可知:a1=a2=a6=5,a8|a10=5,与结论3.2矛盾,故不成立。 假设a4=4,则还需要3个4,结合3.2,4.4可知:a1=a6=4,0<=a2<=3,a8|a10=4,由结论4.8可知,a1为6的倍数,故矛盾。 假设a4=3,则还需要2个3,结合3.2,4.4可知,会有2种情况:1)若a2!=3:则a1,a6,a8,a10有2个为3,由结论4.8可知,a1和a8都不为3,故只能a6=a10=3,故a8a8=6a6=18,得到a8非整数,矛盾。2)若a2=3:则需要b3=b7=b9=是,而此时a4=a2,b7=非,矛盾。 假设a4=2,则需要:a1,a2,a6,a8,a10有1个为2,由结论4.8可知,a1,a8都不为2,只能有如下3种情况: a6=2,则a8a8=6a6=12,得到a8非整数,矛盾。 a10=2,则结合4.8,代入3.1得到:a2+2+a8a8/6+a8+2=0,即:a8a8+6a8+24+6a2=0,该一元二次方程的根△=36-41(24+6a2)=12(-5-2*a2)<0,故没有实数解。与a8为整数矛盾。 a2=2,则因为a4=a2,故b7=非,进而:需要 b3=b9=是,由b9=是可知:a6=a2-a4-a4a8,即:a6=-2a8,代入4.8得到:a8a8=-12a8,a8=-12,进而:a6=-2a8=24,a1=a8a8=144,a10=0-a2-a4-a6-a8=-16,验证满足b3的描述:a1为最大值。 ========>【故,此为一组解,具体值为:a1=144, a2=2, b3=是, a4=2, b5=非, a6=24, b7=非, a8=-12, b9=是, a10=-16】 接下来继续假设a4=1,看是否有解: 更新结论如下: 5.1:1+a2+a6+a8+a10=0 5.4:a4=1,a1>=0, a6>=0, a8|a10<0,且a1, a2, a6, a8, a10均不为1 5.6:a6=(a8*a8+a2+a8+a10+1)/5为整数 第六轮分析: 根据5.1,4.8得到:1+a2+a8a8/6+a8+a10=0,即a8a8+6a8+6a2+6a10+6=0,因为有整数解,所以,其 △=36-41*(6a2+6a10+6)=12*(1-2a2-2a10) >0,即a2+a10<0.5,结合结论1.2,可知:a10<=0 更新结论: 6.4:a4=1,a1>=0, a6>=0, a10<=0,且a1, a2, a6, a8, a10均不为1 第七轮分析,仍然没有明显的明确结论,接下来进行假设推断: 假设a6=0,则:由4.8可知:a1=0,a8=0,故:b3=非。此时,第9题表述为:a6=a2-a4-a4*a8,即:a2=1,与结论6.4矛盾,故b9=非。进而:a2=0或1,由结论6.4可知a2!=1,故:a2=0,此时,b4表述为a4>a2为真,和a2=0矛盾。 故a6!=0,且根据6.4可知a6>=2,结合4.8:a1=a8a8=6a6 可知:a1>a6,a1>a8,a1=6*a6>=12>a2,a1>1=a4,a1>0>=a10,故a1就是最大的,故:b3=是。 故:a2>=1,且结论6.4知a2!=1,故a2>=2,故:a2>a4,故:b7=非。进而:a2<=2,故a2=2,进而:b9=是。 故第9个问题表示:a6=a2-a4-a4a8,即1-a6-a8=0,代入4.8可得:a8a8=6*(1-a8),即a8a8+6a8-6=0,△=36+24=60,得出a8没有整数解,矛盾。 综上分析,只有唯一解,具体值为:a1=144, a2=2, b3=是, a4=2, b5=非, a6=24, b7=非, a8=-12, b9=是, a10=-16。 解答:记为医生甲乙,病患甲乙,手套AB,则操作方法: 将B手套套在A手套外侧,医生甲戴着它给病患甲看病。(此时:A手套内侧<->医生甲,B手套外侧<->病患甲,A手套外侧&B手套内侧均干净) 医生甲只戴着A手套给病患乙看病。(此时:A手套内侧<->医生甲,B手套外侧<->病患甲,A手套外侧<->病患乙,B手套内侧干净) 医生乙只戴着B手套给病患甲看病。(此时:A手套内侧<->医生甲,B手套外侧<->病患甲,A手套外侧<->病患乙,B手套内侧<->医生乙) 将A手套套在B手套外测,医生乙戴着它给病患乙看病。(此时:A手套外侧<->病患乙,B手套内侧<->医生乙,A手套内侧&B手套外侧已混合接触) 解答:信息依次分析如下: 1)庞说:我虽然不能确定这两个数是什么 --> 不是能通过和数来唯一确定的组合:【队列A】2+3=5,2+4=6,99+98=197,99+97=196 2)但是我肯定你也不知道这两个数是什么 --> 不是能通过乘积来唯一确定的组合的和。如果该乘积分解质因数有且只有2个质数,则其可以唯一确定组合即这2个质数;如果分解质因数有且只有3个一样的质数,则也可以唯一确定组合即该质数和质数平方。故应该不是任意一个这样的组合的和数。 100以内质数共有25个:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97。 【队列B】3个相同质数且其2倍值要小于100,和值分别为:6、9、15、21、33、39、51、57、69、87、93、123、129、141 【队列C】2个不同质数之和为:5、7、9、13、15、19、21、25、31、33、39、43。。。8、10、14、16、20、22、26、32、34、40、。。。12、16、18、22、24、28、34、36、42、。。。18、20、24、26、30、36、38、44、。。。24、28、30、34、40、42、。。。30、32、36、42、44、50、。。。36、40、46、。。。42、48、50、。。。 【队列D】庞看到的和数不在上述的组合之内,故可能的和数有可能为:11、17、23、27、29、35、37。。。 3)孙说:我本来的确不知道 --> 信息量同第2)步(不是能通过乘积来唯一确定的组合) 4)但是听你这么一说,我现在能够确定这两个数字了。 --> 质因数分解后有几种情况的组合,这几种情况的组合的和数都恰好在【队列B-C】中,因此被排除了,只剩1种可能,恰巧不在【队列B-C】中,而是在【队列D】中,这种可能的组合即为所求。 依次尝试【队列D】中的和数,要保证其存在1个组合,这个组合的和为该数,这个组合的乘积进行质因数分解后,除了这个组合,其他任意质因数来构成的组合的和数均在【队列B-C】中(等价于不在【队列D】中)。那么这个组合就是所求。 5)庞说:既然你这么说,我现在也知道这两个数字是什么了。 --> 在第4)步中,“依次尝试【队列D】中的和数,要保证其存在1个组合”需要变为“依次尝试【队列D】中的和数,要保证其存在且仅存在1个组合”,这样庞也可以确定出这个组合就是所求。(反之,如果存在多个,则庞无法判断是哪个) 现在开始依次尝试【队列D】的和数:11、17、23、27、29、35、37。。。 11->2+9->233->36->9->Yes(3,6)->3+8->3222->212->14->46->10->Yes(4,6) 失败 上述表达格式说明:11【开始尝试11的所有和数组合】->2+9【尝试组合2,9】->233【29的分解质因数】->36【尝试任意质因数来重新搭配,构成的组合,此处是3,6】->9【计算组合和值】->Yes(2,9)【本组合2,9可以,因为所有质因数搭配组合尝试完毕,且和值均不在队列D】->3+8【尝试组合3,8】->3222【38分解质因数】->212【尝试任意质因数来重新搭配,构成的组合,此处是2,12】->14【计算组合和值】->46【尝试任意质因数来重新搭配,构成的组合,此处是4,6】->10【计算组合和值】->Yes(3,8)【本组合3,8可以,因为所有质因数搭配组合尝试完毕,且和值均不在队列D】 失败【因为存在大于1组,所以,失败了,终止接下来其他的组合的尝试】 17->2+15->235->310->13->56->11->No->3+14->327->221->23->No->4+13->2213->226->28->Yes(4,13)->5+12->5322->230->32->320->23->No->6+11->2311->233->35->No->7+10->725->235->37->No->8+9->22233->236->38->3*24->27->No 以上有唯一组合Yes(4,13)满足条件,即4和13为所求。 后略 突破点:倒推法 解答: 互斥条件列举: 鸡 x 狗 (没人) 狗 x 鱼 (没人) 人 x 米 (没鸭) 狗 x 鸭 (岸上) 人 x 狗 (船上) 人 x 鸭 (船上) 分析:开船相容性:鸡&人一起,狗&鸭一起,鸡&鸭一起,每一趟都一定是相容的开船送或者是送物件 最后一趟是狗鸭或者鸡鸭,对岸人x米冲突;最后一趟是鸡人,对岸狗x鸭冲突; 最后一趟是送物件,是人或者鸡,对岸狗x鸭冲突;是鸭,物件是鱼,对岸人x米冲突,物件是米,可行;是狗,物件是鱼,船上狗x鱼冲突,物件是米,可行; 一级分支:鸭米, 一级分支:狗米, 综上分析,没有可行解在满足约束的条件下完成运送。 解答: 设洞的编号为0-9,则题目可以转化为: 已知N(1)=0,第n次寻找的洞为:N(n)=(N(n-1)+n)%10 所求为N(1)-N(1000)都不包含的结果, 即应该从某次开始循环,有:N(n+x)=N(n),其中n>=1,n+x<=1000,x>0,均为整数。 N(n+x)=(N(n+x-1)+n+x)%10=((N(n+x-2)+n+x-1)%10+n+x)%10 故:N(n)=(N(n)+n*x+(1+x)x/2)%10,即:(N(n)+nx+(1+x)*x/2 - N(n))%10=0 即:N(n)+n*x+(1+x)x/2 - N(n)=nx+(1+x)*x/2=((2n+x+1)*x)/2可以被10整除, 即:无论n取什么值,(2n+x+1)*x可以被20整除,故x最小为20满足要求。 故整个N(1)…N(1000)序列每20个重复一轮,计算前20个可知: 001:0 002:2 003:5 004:9 005:4 006:0 007:7 008:5 009:4 010:4 011:5 012:7 013:0 014:4 015:9 016:5 017:2 018:0 019:9 020:9 兔子可以安全躲藏的洞穴为不在上面的序号里的洞穴,编号为:1, 3, 6, 8(计算时是从0开始命名),而题目中洞穴从1开始命名,即答案为:2号洞,4号洞,7号洞或者9号洞。 解答: 5⁴³²¹ ÷ 4⁵³²¹ ∵显然 3.81⁷²⁰ ÷ 4¹⁰⁰⁰<1, 解答: 从 100毛=10毛X10毛 开始错,忘记加根号了。 应为:10元=100毛=10√毛X10√毛=√100毛X√100毛=√10元X√10元=10元 突破点:可以错位放来节省空间 解答: 106个 突破点:类似ab和ba的比较都基于类似的思路,指数大的会比较大 解答: 首先验证函数x/lnx的单调性: 对其求导可得: (x/lnx)’=(lnx-1)/(lnx)2,故当x>e时,(x/lnx)’>0,即:x/lnx单调递增 回到原问题,可对2个数求ln后再比较,即比较: ln(20202019)=2019ln2020 和 ln(20192020)=2020ln2019 因为x/lnx单调递增,即:2020/ln2020 > 2019/ln2019,即2020*ln2019 > 2019*ln2020 故:20202019 < 20192020 解答: 所求为:a=1, b=-11, c=-4 求解正数解答案: 运算超时,未获得所求16.问:有2名医生,2名病患,因为都有不同的皮肤病,故两两之间均不能有所接触(包括共用手套造成的间接接触)。现在只有2副手套,2名医生都需要给每名病患各看一次病,每次看病使用一副手套(不能只使用1只或者把2套手套交错使用),应该如何操作?
17.问:孙膑,庞涓都是鬼谷子的徒弟。一天鬼谷子出了这道题目:他从2到99中选出两个不同的整数,把积告诉孙,把和告诉庞;庞说:我虽然不能确定这两个数是什么,但是我肯定你也不知道这两个数是什么。孙说:我本来的确不知道,但是听你这么一说,我现在能够确定这两个数字了。庞说:既然你这么说,我现在也知道这两个数字是什么了。请问这两个数字是什么?为什么?
18.问:一个人带一只鸡,一只狗,一条鱼,一只鸭子和一缸米过河。没人的时候,鸡会打狗,狗会摸鱼。鸭子不在的时候人会吃米。狗和鸭子独处会打架,但鸭子在船上会玩砍口垒,不会跟狗打架。人和狗或者人和鸭子在船上时,人会被丢下去。已知人,鸭子,狗和鸡都能开船,船上最多装两个东西,问如何让所有东西平安过河 ?
倒数第2趟,鸡人,本地少资源(因为要返回,所以,肯定有一样会在上级分支里再次出现,即:必须带上级分支里的一样,且仅带一样,且该样会开船);狗鸭,可行;鸡鸭,可行;狗鱼或人鱼或鸡鱼,本地资源不足;鸭鱼,可行;-over
二级分支:狗鸭,
倒数第3趟,鸡鸭,可行;鸡人,本地少资源;狗鱼,狗x鱼冲突;鸭鱼,可行;人鱼,本地少资源;鸡鱼,本地少资源;-over
三级分支:鸡鸭,
倒数第4趟,鸡人,本地狗x鸭冲突;鸭鱼,鸡x狗冲突;狗鱼,狗x鱼冲突;人鱼,本地少资源;鸡鱼,本地狗x鸭冲突;-over
三级分支:鸭鱼,
倒数第4趟,鸡人,本地少资源;鸡鸭,本地狗x鱼冲突;狗鱼,本地缺少资源;人鱼,本地缺少资源;鸡鱼,本地缺少资源;-over
二级分支:鸡鸭
倒数第3趟,狗鸭,可行;鸡人,狗x鱼冲突;狗鱼,狗x鱼冲突;人鱼,本地缺少资源;鸡鱼,可行;鸭鱼,可行;-over
三级分支:狗鸭,
倒数第4趟,鸡人,本地狗x鸭冲突;狗鱼,狗x鱼冲突;鸭鱼,本地鸡x狗冲突;人鱼,本地缺少资源;鸡鱼,狗x鸭冲突;-over
三级分支:鸡鱼,
倒数第4趟,鸡人,可行;狗鸭,可行;-over
四级分支:鸡人,
倒数第5趟,狗鸭,本地人x米冲突;-over
四级分支:狗鸭,
倒数第5趟,鸡人,本地狗x鸭冲突;-over
三级分支:鸭鱼,
倒数第4趟,鸡人,可行;狗鸭,可行;-over
四级分支:鸡人,
倒数第5趟,狗鸭,本地人x米冲突;-over
四级分支:狗鸭,
倒数第5趟,鸡人,本地狗x鸭冲突;-over
二级分支:鸭鱼,
倒数第3趟,狗鸭,可行;鸡鸭,可行;鸡人,本地缺少资源-over
三级分支:狗鸭,
倒数第4趟,鸡鸭,本地狗x鱼冲突;-over
三级分支:鸡鸭,
倒数第4趟,狗鸭,可行;鸡人,可行;-over
四级分支:狗鸭,
倒数第5趟,鸡人,本地狗x鸭冲突;-over
四级分支:鸡人,
倒数第5趟,狗鸭,本地人x米冲突;-over
倒数第2趟,鸡人或鸡鸭,缺少本地资源;鸭狗,可行;狗鱼,本地狗x鱼冲突;人鱼或鸡鱼或鸭鱼,缺少本地资源;-over
二级分支:鸭狗,
倒数第3趟, 鸡人或鸡鱼,缺少本地资源;鸡鸭,可行;狗鱼,狗x鱼冲突;鸭鱼,可行;-over
三级分支:鸡鸭,
倒数第4趟,鸡人或鸡鱼,本地鸭x狗冲突; 狗鱼,狗x鱼冲突;鸭鱼,本地鸡x狗冲突;-over
三级分支:鸭鱼,
倒数第4趟,鸡人或鸡鱼,缺少本地资源;鸡鸭,本地狗x鱼冲突;-over
19.问:围绕着山顶有10个圆形排列的洞,狐狸要吃兔子,兔子说:“可以,但必须找到我,我就藏身于这十个洞中,你先到1号洞找,第二次隔1个洞(即3号洞)找,第三次隔2个洞(即6号洞)找,以后如此类推,次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?
=((N(n+x-2)+n+x-1)%10+n%10+x%10)%10=((N(n+x-2)+n+x-1+n+x)%10)%10
=(N(n+x-2)+n+x-1+n+x)%10=(N(n+x-2)+(n+x-1)+(n+x))%10
=(N(n+x-3)+(n+x-2)+(n+x-1)+(n+x))%10=(N(n+0)+(n+1)+…+(n+x-2)+(n+x-1)+(n+x))%10
=(N(n)+n*x+(1+x)*x/2)%1020.问:5⁴³²¹ 与 4⁵³²¹ 哪个更大?
=(5⁴³²¹ ÷ 4⁴³²¹) ÷ 4¹⁰⁰⁰
=1.25⁴³²¹ ÷ 4¹⁰⁰⁰
=(1.25⁶)⁷²⁰ ÷ 4¹⁰⁰⁰
=3.81⁷²⁰ ÷ 4¹⁰⁰⁰
∴故 5⁴³²¹ < 4⁵³²¹21.问:10元=100毛=10毛X10毛=1元X1元=1元?错在哪里?
22.问:10 × 10 的正方形最多可放入多少个直径为 1 的圆?
23.问:2020的2019次方和2019的2020次方,谁比较大?
24.问:已知 a/(b+c)+b/(a+c)+c/(b+c)=4,求a, b, c的绝对值最小的整数解和正数解
使用Python编程求解,
求解整数解答案:# a/(b+c) + b/(c+a) + c/(a+b) = 4
# transform to
# a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c=0
N = 1000
start = 1
end = N
findOne = False
while True:
print "[%s, %s) and [-%s, -%s) start search..." % (start, end, start, end)
for a in range(start, end):
for b in range(-end, end):
for c in range(-end, end):
if a+b != 0 and a+c != 0 and b+c != 0 and a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
for a in range(-end+1, -start+1):
for b in range(-end, end):
for c in range(-end, end):
if a+b != 0 and a+c != 0 and b+c != 0 and a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
for a in range(-end, end):
for b in range(start, end):
for c in range(-end, end):
if a+b != 0 and a+c != 0 and b+c != 0 and a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
for a in range(-end, end):
for b in range(-end+1, -start+1):
for c in range(-end, end):
if a+b != 0 and a+c != 0 and b+c != 0 and a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
for a in range(-end, end):
for b in range(-end, end):
for c in range(start, end):
if a+b != 0 and a+c != 0 and b+c != 0 and a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
for a in range(-end, end):
for b in range(-end, end):
for c in range(-end+1, -start+1):
if a+b != 0 and a+c != 0 and b+c != 0 and a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
start = end
end += N
# a/(b+c) + b/(c+a) + c/(a+b) = 4
# transform to
# a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c=0
N = 1000
start = 1
end = N
findOne = False
while True:
print "[%s, %s) start search..." % (start, end)
for a in range(start, end):
for b in range(1, end):
for c in range(1, end):
if a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
for a in range(1, end):
for b in range(start, end):
for c in range(1, end):
if a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
for a in range(1, end):
for b in range(1, end):
for c in range(start, end):
if a*a*a-3*a*a*b-3*a*a*c-3*a*b*b-3*a*c*c-5*a*b*c+b*b*b-3*b*b*c-3*b*c*c+c*c*c == 0:
print "a=%s, b=%s, c=%s" % (a, b, c)
findOne = True
if findOne:
break
start = end
end += N