Re: [新聞] 好聰明!這樣做 發票10分鐘全對完

作者: rwhung (畫一隻雞)   2015-05-29 02:02:41
※ 引述《Arminius (奇怪的歐吉桑)》之銘言:
: : 噓 jeterfans: 花的時間是一樣的,一個事前花時間,一個事後花時間, 05/29 00:13
: : → jeterfans: 聰明個屁 05/29 00:13
: 花的時間不一樣喔, 假設你有 1000 張發票
: 200塊有6組號碼, 頭獎 3 個, 增開 3 個
: 一張一張對, 要對 1000張 * 3 個數字 * 6 組 = 18000 個數字
: 先對尾數 1000 張 * 1 個數字 = 1000 個數字
: 分開 10 疊, 平均一疊算 100 張吧
: 算你衰 6 組號碼尾數都不同, 拿 6 疊出來
: 再對剩下兩個數字 6 * 100 * 2 個數字 = 1200 個數字
: 這樣總共才需要對 1000 + 1200 = 2200 個數字
: 2200 << 18000
: 快很多啦, 真的~
你的算法有誤,或者是你的對法有誤
假設發票號碼是 AR12345678 , 比較快速的對法是 拿 678來對
而不是拿 6 去對,然後再來對 7 ,之後再對 8
所以算法應該是 發票數 * 組中奬號碼
你舉的例子就是 1000 * 6 = 6000 max (如果同尾數或同百數, 組數會更少)
不過通常人類可以同時閱讀6個字以上, 也就是說如果正常情況下
一秒可以對二組(中奬號碼) , 一張發票可以在3秒對完 (六組), 一分鐘可以對20張.
1000張發票約在 50分鐘左右對完
之後再算先分疊再對的方法
先對尾數 1000 張 * 1 個數字 = 1000 個數字
雖然人類可以同時閱讀6個字以上, 但是你只對一個數字, 所以花的時間也是一樣
(一秒一個字/一張發票) 所以你先花了 1000 秒 處理 = 17分鐘
之後你有6疊發票, 每疊 100張 . 每組只需比對2個數字
因此 一張發票可以 2秒內對完 (同樣6組) 一分鐘可以對30張
600張發票 = 20分
加上之前的 17分 , 大約花了 37分對完.
結論:
僅以數字來看是 18000 : 2200 , 但以時間來看,是 50 : 37
先整理是比較快, 但沒你想像中差距那麼的大
作者: jojoStar (白金之星)   2015-05-29 02:04:00
念書有沒有這麼認真???
作者: Owen93 (Owen)   2015-05-29 02:04:00
封你為發票王
作者: Arminius (奇怪的歐吉桑)   2015-05-29 02:07:00
輸給你了
作者: dacapo (Dacapo)   2015-05-29 02:07:00
您發票系?
作者: raok (台大吳彥祖)   2015-05-29 02:10:00
以時間複雜度來看都是常數時間

Links booklink

Contact Us: admin [ a t ] ucptt.com