亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: Tim 這有一個題,看你用shell能解出來不。 [打印本頁]

作者: xinyv    時間: 2009-02-05 11:22
標(biāo)題: Tim 這有一個題,看你用shell能解出來不。
題目:

  一個教授給他的三個學(xué)生出了一個題,教授在每個人后背貼了一張紙條,并告訴他們,每個人的紙條上都寫了一個正整數(shù),
  
  且某兩個數(shù)的和等于第三個。總人可以看見另兩個數(shù),但看不見自己的)  

  教授問第一個學(xué)生:你能猜出自己的數(shù)嗎?回答:不能,問第二個,不能,第三個,不能,

  再問第一個,不能,第二個,不能,第三個:我猜出來了,是144!

  請問另外兩個人的數(shù)是什么?
作者: liaosnet    時間: 2009-02-05 11:27

扔awk里做吧..應(yīng)該可以..awk也可算得上編程語言了..
作者: ly5066113    時間: 2009-02-05 11:30
占個位,慢慢想,關(guān)鍵在算法。
作者: 我是DBA    時間: 2009-02-05 11:32
答案108 36?
作者: xinyv    時間: 2009-02-05 11:44
答案應(yīng)該不唯一,但需要很強的數(shù)學(xué)邏輯。
作者: ynchnluiti    時間: 2009-02-05 11:53
又是數(shù)學(xué)啊
作者: waker    時間: 2009-02-05 12:11
我的算法

  1. wget "http://www.google.cn/search?hl=zh-CN&q=%E4%B8%80%E4%B8%AA%E6%95%99%E6%8E%88%E7%BB%99%E4%BB%96%E7%9A%84%E4%B8%89%E4%B8%AA%E5%AD%A6%E7%94%9F%E5%87%BA%E4%BA%86%E4%B8%80%E4%B8%AA%E9%A2%98%EF%BC%8C%E6%95%99%E6%8E%88%E5%9C%A8%E6%AF%8F%E4%B8%AA%E4%BA%BA%E5%90%8E%E8%83%8C%E8%B4%B4%E4%BA%86%E4%B8%80%E5%BC%A0%E7%BA%B8%E6%9D%A1&btnG=Google+%E6%90%9C%E7%B4%A2&lr="
復(fù)制代碼

作者: 我是DBA    時間: 2009-02-05 12:48
標(biāo)題: 回復(fù) #7 waker 的帖子
我這也這樣算的。呵
作者: luo118    時間: 2009-02-05 14:13
有人分析一下嗎?
作者: ly5066113    時間: 2009-02-05 15:10
標(biāo)題: 回復(fù) #1 xinyv 的帖子
有個問題,這3個數(shù)允不許允許出現(xiàn)重復(fù)數(shù)字。
作者: xinyv    時間: 2009-02-05 15:13
應(yīng)該允許吧,但這樣好像不滿足題意。
作者: ly5066113    時間: 2009-02-05 15:25
標(biāo)題: 回復(fù) #11 xinyv 的帖子
恩,如果有重復(fù)的,第一輪就會有結(jié)果了。
讓我在琢磨琢磨。
作者: is.x    時間: 2009-02-05 19:33
24和120~
shell 就不會了

[ 本帖最后由 is.x 于 2009-2-5 19:35 編輯 ]
作者: xinyv    時間: 2009-02-06 10:30
網(wǎng)上說有多種結(jié)果,可是我就算出來2中,剩下的大家在考慮吧,貼我的代碼供大家參考。
我這個方法不能算是純程序計算,很多邏輯上的東西在程序里沒有想出方法來判斷,表示。

  1. #!/bin/bash
  2. :<<'EOF'
  3. # 說一下我的思路,大家參考
  4. # 假設(shè) 三個人和數(shù)分別是 A(a)  B(b) C(c)  大寫字母代表人,小寫字母代表數(shù)字。
  5. #
  6. # 1、根據(jù)題意  得出 a!=b a!=c b!=c
  7. #      因為 a=b or a=c or b=c 任一為真的時候,在前三次就可以得到結(jié)果,不符合題意。
  8. # 2、根據(jù)題意 得出 a!=2b a!=2c b!=2a b!=2c c!=2a c!=2b
  9. #      因為 上述條件任一為真的時候 在第五次之前就可以得到結(jié)果,不符合題意。
  10. # 3、第六次能得到答案是因為某一個條件不能滿足上面的條件之一。
  11. #
  12. # A 用戶可能結(jié)果  ((b+c)  b  c)    (Abs(b-c)  b  c)
  13. #  
  14. # B 用戶可能結(jié)果  (a  (a+c)  c)    (a  Abs(a-c)  c)
  15. #  
  16. # C 用戶可能結(jié)果  (a  b  (a+b))    (a  b  Abs(a-b))
  17. #
  18. # 因第六次出了結(jié)果,所以 (a+b) or Abs(a-b) 必然有一個且只有一個不符合條件二,故在第六次可以判斷,否則在第六次無法判斷結(jié)果
  19. # 而且凡是有數(shù)字 c 的加減法 均必須滿足條件 1 2
  20. #
  21. # 假設(shè) (a  b  Abs(a-b)) 滿足條件 那么 (a+b) 必然不滿足條件 ,因此 a b 必須滿足條件 1 2 而 a+b 必須不滿足條件 2
  22. #
  23. # 前提 a b 必須滿足條件 1 2
  24. # a!=b a!=2b b!=2a c=(a+b)
  25. # 根據(jù)上面的條件可以得到
  26. # c=(a+b) --> a!=c b!=c a!=2c b!=2c
  27. # a!=b    --> c!=2a c!=2b
  28. #
  29. # 因為假設(shè)中 (a+b) 完全符合條件 1 2 故假設(shè)不成立。
  30. # 因此我們得到 a+b=144
  31. EOF
  32. function Abs(){
  33.    (( $[$@] > 0 )) && { echo $@;return; }
  34.    echo $[0-($@)]
  35. }
  36. for i in {1..143};do
  37. a=$i;b=$[144-$i];c=$(Abs a-b)
  38. if (( $a != $b )) && (( $[2*$a] != b )) && (( $[2*$b] != $a ));then
  39.    if (( $a != $c )) && (( $b != $c ));then
  40.         if (( $a == $[2*$c] ));then
  41.                 echo "A=$a B=$b C=144"
  42.                 continue 1;
  43.         elif (( $b == $[2*$c] ));then
  44.                 echo "A=$a B=$b C=144"
  45.                 continue 1;
  46.         elif (( $c == $[2*$a] ));then
  47.                 echo "A=$a B=$b C=144"
  48.                 continue 1;
  49.         elif (( $c == $[2*$b] ));then
  50.                 echo "A=$a B=$b C=144"
  51.                 continue 1;
  52.         fi
  53.    fi
  54. fi
  55. done
復(fù)制代碼

A=36 B=108 C=144
A=108 B=36 C=144

且 A B 的關(guān)系為  (A:B ==1:3)  A=3X B=X   X為任意正整數(shù)。

A 和 B 的順序可以互換




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2