[閒聊] 如何關閉 ubuntu 螢幕自動翻轉

記得去年暑假裝完 ubuntu 的時候,最震驚的除了它把 nvidia 顯卡放著不管,跑去用 intel 的導致 鬥(某)陣(個)特(遊)攻(戲) 完全開不起來、讓我白白浪費了好久去debug之外,就是 . . .

這個方向 . . . 4B4反了啊 _(┐「ε :)_

hp竟然有裝重力感測器???店員都沒跟我說欸?

Continue reading [閒聊] 如何關閉 ubuntu 螢幕自動翻轉

演算法筆記 — 歸納法(1)

痾 . . . 歸納法是啥?沒關係,這個先別管他,來證明些數學問題吧!

現在有個理論T,而T中有一個參數n ; 我們想證明「n可以是任何自然數」的話該怎麼做呢?

最直接明瞭的方法自然就是窮舉啦 :

證明 T(n=1) 為真
證明 T(n=2) 為真
證明 T(n=3) 為真
...

可能把這串證明寫到宇宙盡頭都寫不完(❍ᴥ❍ʋ)

但是用歸納法的話只要證明兩點就好了 :

1. T(n=1)為真
2. 對所有n>1,若T(n-1)為真,則T(n)為真
Continue reading 演算法筆記 — 歸納法(1)

深度理解scanf

在C裡面,scanf 負責程式的輸入,用更精確的描述則是「以選定的格式讀取輸入並以選定的型態儲存」

沒錯,「以選定的格式」意味著 scanf 可以讓我們「自訂」輸入的格式,是個非常強大的功能,尤其是在出題者毫不體諒解題者(可憐的我們QQ)的時候 [雖然通常都是故意的 \(゚⊿゚)/ ]

光是口頭說明無法證明它為何如此強大,讓我們舉個例子吧~

假設你現在要把黏在一起的5個正8位數(也就是一個40位數)分開輸出,如果直接用 %d 當 int 讀取的話肯定會 overflow (超過 int 的範圍限制, 2^32),所以會需要寫個幾行的程式將 這些數字 用陣列儲存,再依序將 5段 char 用函式(或手動)轉換成數字

但當你精通 scanf 的時候,只需要短短2行就能解決

scanf("%8d%8d%8d%8d%8d", &a ,&b, &c, &d, &e);
/* A Piece Of Cake _(:3」ㄥ)_ */

到底 scanf 怎麼達成這些效果呢?就讓我們開始講解啦!

Continue reading 深度理解scanf