小石搬家了,新的门牌号是13到999中的一个数字。他的朋友问他门牌号是多少,小石说:“你猜。”
朋友问:“这个数是不是大于500?”小石告诉了他,没说真话;
朋友又问:“这个数是不是个平方数?”小石告诉了他,说了假话;
朋友又问:“这个数是不是立方数?”小石告诉了他,说了真话;
朋友又说:“你只要告诉我这个数的十位数是不是1,我就能告诉你,你的门牌号是多少。”小石告诉了他;然后他的朋友就说了一个数,小石说:“你猜错了。”
for(int i=4; i<32; i++)朋友问:“这个数是不是大于500?”小石告诉了他,没说真话;
朋友又问:“这个数是不是个平方数?”小石告诉了他,说了假话;
朋友又问:“这个数是不是立方数?”小石告诉了他,说了真话;
朋友又说:“你只要告诉我这个数的十位数是不是1,我就能告诉你,你的门牌号是多少。”小石告诉了他;然后他的朋友就说了一个数,小石说:“你猜错了。”
{Console.Write(i*i+" ");}
for(int j=3; j<10; j++)
{Console.Write(j*j*j+" ");}
13-999 平方数
16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484
529 576 625 676 729 784 841 900 961
13-999 立方数
27 64 125 216 343 || 512 729
“这个数是不是立方数?”,而小石说了真话,证明的确是立方数所以他才向立方数猜
500前后各有216和512,朋友说“你只要告诉我这个数的十位数是不是1,我就能告诉你,你的门牌号是多少。”
证明小石告诉朋友是大于500的,因为大于500的只有两个数可选,但小石没说真话,所以事实上,门牌号小于500
那么剩下就是27 64 125 216 343
而朋友只往立方数里面猜,证明小石告诉他此数并非平方数,所以朋友才只在立方数里猜
但小石告诉他的平方数的答案是假的,那就是说,他的门牌既是平方数也是立方数
那么,在27 64 125 216 343里面,既是平方数又是立方数的也就只有一个了
楼主不用辛苦等到50楼了~
[此贴子已经被作者于2006-11-16 22:59:39编辑过]