用sql模擬:從12個乒乓球中找到假乒乓球
有12個乒乓球,其中一個是假的,其餘的都是真的,用天平秤來稱重,你能用此天平秤秤3次,就能分出哪一個乒乓球是假的?並且假乒乓球比真的輕還是重?
--建立測試表,測試表中一行代表一種可能
點選(此處)摺疊或開啟
--找出假乒乓球
--測試結果
--建立測試表,測試表中一行代表一種可能
點選(此處)摺疊或開啟
-
create table scott.test as select *
-
from ( select case when rownum=1 then 1 else 2 end a,
-
case when rownum=2 then 1 else 2 end b,
-
case when rownum=3 then 1 else 2 end c,
-
case when rownum=4 then 1 else 2 end d,
-
case when rownum=5 then 1 else 2 end e,
-
case when rownum=6 then 1 else 2 end f,
-
case when rownum=7 then 1 else 2 end g,
-
case when rownum=8 then 1 else 2 end h,
-
case when rownum=9 then 1 else 2 end i,
-
case when rownum=10 then 1 else 2 end j,
-
case when rownum=11 then 1 else 2 end k,
-
case when rownum=12 then 1 else 2 end l
-
from dual connect by rownum<=12
-
union all
-
select case when rownum=1 then 3 else 2 end a,
-
case when rownum=2 then 3 else 2 end b,
-
case when rownum=3 then 3 else 2 end c,
-
case when rownum=4 then 3 else 2 end d,
-
case when rownum=5 then 3 else 2 end e,
-
case when rownum=6 then 3 else 2 end f,
-
case when rownum=7 then 3 else 2 end g,
-
case when rownum=8 then 3 else 2 end h,
-
case when rownum=9 then 3 else 2 end i,
-
case when rownum=10 then 3 else 2 end j,
-
case when rownum=11 then 3 else 2 end k,
-
case when rownum=12 then 3 else 2 end l
- from dual connect by rownum<=12) a;
點選(此處)摺疊或開啟
-
select case
-
when a+b+c+d>e+f+g+h then --第1步
-
case when a+i+j+k>e+b+c+d --第2步
-
then
-
case when a!=i then ('a重') --第3步
-
when a=i then ('e輕') end
-
when a+i+j+k=e+b+c+d --第2步
-
then
-
case when f>g then ('g輕') --第3步
-
when f=g then ('h輕')
-
when f<g then ('f輕') end
-
when a+i+j+k<e+b+c+d --第2步
-
then
-
case when b>c then ('b重') --第3步
-
when b=c then ('d重')
-
when b<c then ('c重') end end
-
when a+b+c+d=e+f+g+h --第1步
-
then
-
case when a+i+j+k>e+b+c+d --第2步
-
then
-
case when i>j then ('i重') --第3步
-
when i=j then ('k重')
-
when i<j then ('j重') end
-
when a+i+j+k=e+b+c+d --第2步
-
then
-
case when a>l then ('l輕') --第3步
-
when a<l then ('l重') end
-
when a+i+j+k<e+b+c+d --第2步
-
then
-
case when i>j then ('j輕') --第3步
-
when i=j then ('k輕')
-
when i<j then ('i輕') end end
-
when a+b+c+d<e+f+g+h --第1步
-
then
-
case when a+i+j+k>e+b+c+d --第2步
-
then
-
case when b>c then ('c輕') --第3步
-
when b=c then ('d輕')
-
when b<c then ('b輕') end
-
when a+i+j+k=e+b+c+d --第2步
-
then
-
case when f>g then ('f重') --第3步
-
when f=g then ('h重')
-
when f<g then ('g重') end
-
when a+i+j+k<e+b+c+d --第2步
-
then
-
case when a!=i then ('a輕') --第3步
-
when a=i then ('e重') end end
-
end 假乒乓球,
-
test.*
- from scott.test;
點選(此處)摺疊或開啟
- /*
-
假乒乓球 A B C D E F G H I J K L
a輕 1 2 2 2 2 2 2 2 2 2 2 2
b輕 2 1 2 2 2 2 2 2 2 2 2 2
c輕 2 2 1 2 2 2 2 2 2 2 2 2
d輕 2 2 2 1 2 2 2 2 2 2 2 2
e輕 2 2 2 2 1 2 2 2 2 2 2 2
f輕 2 2 2 2 2 1 2 2 2 2 2 2
g輕 2 2 2 2 2 2 1 2 2 2 2 2
h輕 2 2 2 2 2 2 2 1 2 2 2 2
i輕 2 2 2 2 2 2 2 2 1 2 2 2
j輕 2 2 2 2 2 2 2 2 2 1 2 2
k輕 2 2 2 2 2 2 2 2 2 2 1 2
l輕 2 2 2 2 2 2 2 2 2 2 2 1
a重 3 2 2 2 2 2 2 2 2 2 2 2
b重 2 3 2 2 2 2 2 2 2 2 2 2
c重 2 2 3 2 2 2 2 2 2 2 2 2
d重 2 2 2 3 2 2 2 2 2 2 2 2
e重 2 2 2 2 3 2 2 2 2 2 2 2
f重 2 2 2 2 2 3 2 2 2 2 2 2
g重 2 2 2 2 2 2 3 2 2 2 2 2
h重 2 2 2 2 2 2 2 3 2 2 2 2
i重 2 2 2 2 2 2 2 2 3 2 2 2
j重 2 2 2 2 2 2 2 2 2 3 2 2
k重 2 2 2 2 2 2 2 2 2 2 3 2
l重 2 2 2 2 2 2 2 2 2 2 2 3 -
*/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28539951/viewspace-1774089/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 乒乓球比賽計分程式模擬衝刺(Sprint)計劃
- 淺談橫拍長膠乒乓球技術戰術分析
- 題解 GZOI2023D2B【乒乓球】3D
- 面試官:請用SQL模擬一個死鎖面試SQL
- Three.js 進階之旅:物理效果-3D乒乓球小遊戲 ?JS3D遊戲
- 暑集假訓SCP提高擬模21
- iOS開發之模擬介面假資料iOS
- DeepMind機器人打乒乓球,正手、反手溜到飛起,全勝人類初學者機器人
- 9.12 模擬賽
- oracle實用sql(13)--併發簡單模擬OracleSQL
- 10.12 模擬賽
- csp-s 模擬 12
- 24/8/12 模擬賽
- java從一個目錄中找到字串在那個文件中出現Java字串
- 從零到有模擬實現一個Set類
- 暑假集訓CSP提高模擬12
- MAC下用F9-F12模擬PageUP/PageDown/HOME/ENDMac
- 20180126模擬SQL*Net message from dblinkSQL
- 從“模擬”的角度看,《微軟模擬飛行》還需要什麼?微軟
- mumu模擬器 MuMuManager.exe是MuMu模擬器12新加入的工具
- Acdream 1205 Disappeared Block(模擬)APPBloC
- 使用PL/SQL模擬SQLLOAD的功能SQL
- 模擬一個大檔案
- 模擬費用流小記
- 虛擬蜜罐:從資訊模擬到實現虛擬蜜罐技術
- 資料週報:乒乓球橫掃本週收視榜,亞乒賽女單決賽收視1.31%佔據榜首
- 12.2 實現鍵盤模擬按鍵
- 12.3 實現模擬滑鼠錄製回放
- sed+awk模擬簡單sql查詢SQL
- SQL Server模擬別的賬戶登入SQLServer
- 1.12-java socket程式設計 模擬2個機器人對話Java程式設計機器人
- 模擬 Vue 手寫一個 MVVMVueMVVM
- 模擬軟體應用案例輯
- CSS & JS Effect – 用 wheel 模擬 scrollCSSJS
- 從Fresco原始碼中找到非侵入式的答案原始碼
- hihocoder 1264 神奇字串 (列舉+模擬)字串
- NOIP2024模擬12:孤帆遠影
- 2024.07.12模擬賽總結