演算法牛人左
『壹』 牛人啊,MD5解密演算法
這種東西沒什麼意義,MD5加密時,一般都會帶幾個其他參數,如:
md.update(password.getBytes()); //原密碼
md.update(「param1」.getBytes()); //參數1
md.update(「param2」.getBytes()); //參數2
這樣出來的密文和未帶參數出來的密文完全不一樣,你再怎麼窮舉也沒用啊。
『貳』 牛人數學家中彩票14次,發明選號演算法,他後來怎麼樣了
這是一個令人驚訝的人物事跡,本文講的是羅馬尼亞的一位牛人數學家,一生中彩票頭獎14次,小獎無數次,甚至逼得澳大利亞和美國修改關於彩票法律……
有很多人都希望自己能一夜發財,在不違法的情況下,很多人都會選擇去買彩票。
有很多人突然中了彩票,成功獲得了巨額獎金,一下子就成為了富翁,因此越來越多的人都希望能中彩票。
可這個東西,不單單是運氣的問題,也有著一些特定的規律,絕大多數人是中不了獎的。
偶爾中一次也是非常罕見,要想連中多次,那可就成為大神了,還會引發有關機構的重視,畢竟中那麼多次彩票,肯定不單單是運氣的問題。
如果曼德爾的操作真的沒有問題,那他就是合法獲利,這樣的話,彩票機構為何要禁止人家去買彩票呢?
規則是你制定修改的,別人不違規中獎,按理說也不應該被禁止買彩票才對。
不過曼德爾在1995年破產之後,因為觸犯法律,蹲監獄20個月,最終金盆洗手,如今過著平淡的日子。
通過這件事,也足以看出,數學好還是有用處的,其實很多買彩票的人都喜歡研究規律,有的人通過研究,雖然大獎沒有,但是小獎不斷。
『叄』 ACM:參加過ACM的大牛是不是練習時都要把每個演算法敲幾十幾百次呢
ACM比賽可以帶紙質資料,准備一份模板是很有必要的,所以演算法模版很重要,記住模版一定要權威,不要網上雜七雜八的拿來當模版,一份好的模板一定會對你的編程習慣和演算法實現打下良好的基礎。但是,ACM比賽的等級越高,模版的作用就越小,畢竟比賽不是套模板。
沒有人會把每個演算法敲幾百遍,大牛更加不會,敲十遍還記不住的話,一百遍也沒用的,重要的是對演算法本身的理解。如果你真正理解了演算法但寫不出來,那是你編程水平問題,這樣應該多看看大牛的代碼,多看看模板。
大牛不是演算法模板敲的多,而是對演算法理解的深刻並加上做的題目多,演算法就像數學公式,你記住公式難道就能考高分了嗎。重要的是運用啊,一個數學高手對於新學的公式他可以隨時推導出來,因為對公式真正理解啊,推的多了自然記住了,不是嗎。對於新手,先不要學演算法,先去poj做水題,就是簡單的題目沒什麼演算法,水題不要做太多,100題就差不多了。接下來就該系統的學習一下演算法了,《演算法導論》和《演算法藝術與信息學競賽》是我覺得必看的兩本書。另外,歷屆NOI國家隊選手的論文也是很有價值的,也屬於必看。接下來繼續去poj做題,多思考,做不出來就網路,google,poj做題的人非常多。做題可以查漏補缺,之前沒碰到過的 演算法都可能在題目中體現,碰到沒學過的演算法就網路學習,然後選一個好的放到你的演算法模板庫,poj做題1000以上想不成大牛都難!
我只想說大牛基本上都是這么過來的,當然不排除個別天才,不過我沒碰到過也沒聽過誰不做大量的題就能成為牛人的,畢竟天道酬勤。
『肆』 2的n次方計算方式,
2^n=2^(n/2)×2^(n/2)=……以此類推。
舉例說明如下:
2^8
=2^4×2^4
=2^2×2^2×2^2×2^2
=4×4×4×4
=256
(4)演算法牛人左擴展閱讀:
一個數的零次方;任何非零數的0次方都等於1。通常代表3次方:5的3次方是125,5×5×5=125;5的2次方是25,即5×5=25;5的1次方是5,即5×1=5;由此可見,n≧0時,將5的(n+1)次方變為5的n次方需除以一個5,所以可定義5的0次方為:5 ÷ 5 = 1。
0的次方:
0的任何正數次方都是0,例:0⁵=0×0×0×0×0=0;0的0次方無意義。
次方的演算法:
第一種是直接用乘法計算,例:3⁴=3×3×3×3=81
第二種則是用次方階級下的數相乘,例:3⁴=9×9=81
次方最基本的定義是:設a為某數,n為正整數,a的n次方表示為aⁿ,表示n個a連乘所得之結果,如2⁴=2×2×2×2=16。次方的定義還可以擴展到0次方和負數次方等等。