一,0的故事
計算機為什麼用2值表示? 開關鍊通和斷開的狀态
進制的轉換:
将數字反複除以2,将每步所得的餘數的 列逆序排列,得到二進制的表示
指數法則:
10的0次方,2的0次方,都可以從等式找規律:
10^3=1000;
10^2=100;
10^1=10;
之間都是後面的是前面的十分之一,是以可以推出10的0次方為1,10的(-1)次方也可以接着推導下去。
0的作用:
1)占位
如果102中間的0去掉,代表的含義就錯了。
2)統一标準,簡化規則
例如: 重構中的空對象 :使用空對象可以讓集合進行統一處理, 而不需要每個都判斷是否為NULL
沒有計劃的計劃 0-->空計劃/沒有安排的計劃
沒有藥效的的藥 0-->用藥規則:3天服1天停, 可以使用一顆沒有藥效的藥來在特定的位置,即可進行統一處理
總結: 0的思想, 一種解題方法,思維. 可以簡化題目,操作
二, 邏輯 邏輯的基本思路: 兼顧完整性(不遺漏)和排他性(不重複)
命題: 能夠判斷對錯的稱述(基于規則的稱述)
複雜命題: 由各種基本命題複合而成(基本組成: 否,與,或,異或) 列出真值表(要完整)或文斯圖判斷其真假性
蘊含 A==>B 若A則B 如果A, 那麼B也是 如果你在A上, 那麼你必須在B上. A為true 則B必須true結果才能true
如果你不在A上, 那麼你可以不在B上. A不為true則B可以不為true 結果也會是true
蘊含的逆否命題: 不是A, 或者是B 德摩根律: (~A)V(~B) = ~(A^B)
(~A)^(~B) = ~(AVB)
原理: 對偶性: true<===>false ~A<===>A ^<====>V 對偶性變換, 奇函數變換原則, 基于逆否<原命題與逆否命題真值表相同> 命題對解題的簡化. 簡化題目規則和解題
程式的運作方式: 基于邏輯
三,餘數 餘數: 分組與規律
解決: 在未來不可數或難數的問題: 例如: 100的100次方天後的星期數
直接去除以7取餘數就計算量很費力
如:求解乘方1234567的987654321次方的個位數:
轉換思路:兩數乘方的個位數,取決于這兩個數的個位數,是以,計算某數的乘方的個位數,不需要把十位、百位、千位甚至更高位寫出來進行計算。隻需要把個位數揪出來計算就可以。
7的0次方的個位數=1,
7的1次方的個位數=7,
7的2次方的個位數=9,
7的3次方的個位數=3,
7的4次方的個位數=1,
7的5次方的個位數=7,
根據這個計算的結果,可以找到規律,即周期為4,乘方相隔4個就是一樣的。個位數集為:{1,7,9,3}。
是以計算1234567的987654321次方的個位數,即時求987654321%4的值,然後根據這個值來确定個位數是多少。
因為987654321%4=1,是以答案為7.
運用餘數,大數字的問題能夠簡化成小數字的問題。
奇偶校驗: 1)黑白棋魔術 : 不管原數是什麼, 增加一位校驗碼, 使某些數的重複為偶數 , 那麼如果發生錯誤, 就可以知道是否發生錯誤
局限性: 隻能對奇位數出錯時有作用
2)多次重複同一動作的問題範例: 尋找戀人
分類成奇數村和偶數村的問題,都從小的問題入手,找到規律
3)鋪設草席
将黑色的“半張草席”數量記做+1
将白色的“半張草席”數量記做-1
對數量相加,結果為0,不一定能鋪滿,補位0肯定不能正好鋪滿。
4)一筆畫: 七橋聯通問題. (圖論)
頂點的度數: 有幾條邊經過該點 奇點: 度數為奇數, 偶點: 度數為偶數
一筆畫問題的關鍵點: 如果能一筆畫成,必須滿足所有頂點都是偶點或者隻有兩個奇結點。 奇偶校驗需要找到合适的分類方法。