日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

可汉学院python_18-04-18 回顾 可汗学院:计算数论

發(fā)布時間:2023/12/15 python 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 可汉学院python_18-04-18 回顾 可汗学院:计算数论 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)鍵字

計算數(shù)論: 時間復雜度 空間復雜度 質(zhì)數(shù) 合數(shù) sieve of eratosthenes ,質(zhì)數(shù)定理 條件概率 貝葉斯理論

睡夢——>昨晚:

昨晚由于某些原因失控了,做了一些此刻我認為不該做的事情。但,有一點我沒做了:玩王者榮耀。以前的時候,遇到這種導致"失眠"的情況,我會選擇王者榮耀來讓自己冷卻。這一點,值得我深化:不要再以任何借口去玩王者榮耀,它對我來說就是毒品。

昨日回顧:

LEARN:

刻意訓練難點, 組塊化圖書館構(gòu)建復雜知識體系,神經(jīng)遞質(zhì)決定了我們做事情的態(tài)度,交替學習讓不同知識組塊間交叉得以有創(chuàng)新的基礎(chǔ)。

SYNTAX Python3 :

輸出,語法:標識符,數(shù)據(jù)結(jié)構(gòu),操作符,變量

控制流:if while.for , 函數(shù):5種參數(shù)

模塊

今日回顧:

計算數(shù)論:

時間復雜度 空間復雜度

考慮時間(運行布數(shù))和空間(存儲)隨著數(shù)據(jù)的增大或者增多所帶來的變化。

時間復雜度大致有以下:

O(n) = 1, lnx, x xlnx , x^2, x^3....

質(zhì)數(shù) 合數(shù)

質(zhì)數(shù)(prime):

任何大于1的整數(shù),如果只能被1和它自身整除,則為質(zhì)數(shù)(素數(shù)),換句話說,除了1和它自身,質(zhì)數(shù)無其他因數(shù)。

簡單質(zhì)數(shù)如下:2 3 5 7 11.....質(zhì)數(shù)有無限個。

除2以外,質(zhì)數(shù)都是奇數(shù)。——> 除2以外,偶數(shù)都不是質(zhì)數(shù)。

除2和3以外,其他所有的質(zhì)數(shù)都滿足 6k+1,6k-1 (或者6k+5),且k>1,k為整數(shù)。

合數(shù)(composite)

對于大于一的正整數(shù),不是質(zhì)數(shù)就是合數(shù)。

合數(shù)至少有四個因數(shù)。

任何合數(shù)都能被分解為多個質(zhì)數(shù)相乘。

合數(shù)=質(zhì)數(shù)x質(zhì)數(shù)x質(zhì)數(shù)

質(zhì)數(shù)判定

對于一個給定的正整數(shù)N,如何判定其為質(zhì)數(shù)(合數(shù))?

2到Root(N)區(qū)間,不存在任何一個整數(shù)能整除N,則N為質(zhì)數(shù)(更容易理解:在這個區(qū)間,只要存在一個整數(shù)能整除N,則N為合數(shù))

偽代碼(以下Root(N) 表示N的平方根):

Def is_Prime(N):

flag = 0

For num from 2 to Root(N):

IF num能整除N

flag = 1

break

IF flag = 0

print N為質(zhì)數(shù)

Else

print N為合數(shù)

總結(jié)一下存在任何一個 就成立 與 不存在任何一個才成立的代碼思路:

flag = 0

for 循環(huán)

if conditionTrue

flag = 1

break

if flag = 0

print 不存在任何一個元素符合循環(huán)條件

else

print 只要有一個元素符合循環(huán)條件

考慮到時間復雜度,優(yōu)化:

3到Root(N)區(qū)間,沒有任何一個奇數(shù)能整除N,則N為質(zhì)數(shù):

Def is_Prime(N):

flag=0

For num from 2 to Root(N), step=2 :

IF num能整除N

flag=1

break

IF flag=0

printN為質(zhì)數(shù)

Else

print N為合數(shù)

具體實現(xiàn)請點擊

sieveoferatosthenes:

埃拉托斯特尼篩 :

一個簡單的篩選100以內(nèi)素數(shù)的方法:

畫一個10*10表格,去掉1

去除2的倍數(shù)

所有的偶數(shù)都不是質(zhì)數(shù)/素數(shù),所以去掉2的倍數(shù)(另一個角度是2的倍數(shù)2N 可由除1與2N外的其他質(zhì)數(shù)相乘而得)

去除3的倍數(shù),同2

去除5的倍數(shù),7的倍數(shù)

剩余的數(shù)便是所有100以內(nèi)的質(zhì)數(shù)

-(補充:判斷一個數(shù)是不是質(zhì)數(shù),100為例

) 判斷整除范圍,100^(1/2)=10,from2to10(此處可以考慮兩個集合,①10作為分界點:10*10 ,若10左邊的某個數(shù)能整除100,則商一定在10的右邊。換句話說,判斷是否為質(zhì)數(shù)轉(zhuǎn)化為判斷100是不是合數(shù),而合數(shù)很容易判斷,只要100能被除了1與100的某一個數(shù)整除,就可以判定他是合數(shù)。根據(jù)①可知我只需要考慮2到10之間的數(shù)就可以。

更進一步,只需要考慮2到10之間的質(zhì)數(shù)能否整除。)

其實以上去除倍數(shù) 可歸結(jié)為去除10( 為100的平方根 )以內(nèi)所有質(zhì)數(shù)的倍數(shù)

靈感:快速查找N^2 范圍內(nèi)的所有質(zhì)數(shù)

先做一個N*N的表格,去掉1

用類似的方法找到N以內(nèi)的所有質(zhì)數(shù)(根號N

根號N的表格 )

去除N以內(nèi)所有質(zhì)數(shù)的倍數(shù),剩下的便是質(zhì)數(shù)

應用:10以內(nèi)的質(zhì)數(shù)很容易記住:2 3 5 7

100以內(nèi)的根據(jù)1010表格

10000以內(nèi)的根據(jù)100100表格

偽代碼:

# 根據(jù)埃拉托斯特尼篩,篩選整數(shù) n*n 以內(nèi)的所有質(zhì)數(shù)

List = range(n*n)

For num from 2 to n:

標記n*n以內(nèi)所有num的倍數(shù)(2倍及2倍以上)為marked

unmarked便是所有的質(zhì)數(shù)

質(zhì)數(shù)密度曲線(需要再認真看一邊視頻)

質(zhì)數(shù)數(shù)量(縱軸)——篩選空間N(橫軸)曲線:

當N越來越大,趨向于無窮大時,其曲線無限接近y=ln(x)的曲線

質(zhì)數(shù)密度= 質(zhì)數(shù)數(shù)量/篩選空間

1/ln(x)

質(zhì)數(shù)定理

當N無窮大時,

條件概率

P(A|B)= P(AB)/P(B)

推導

P(AB)=P(A|B)/P(B)

P(BA)=P(B|A)/P(A)

因為

P(AB)=P(BA)=P(A∩B)

所以

P(A|B)/P(B)=P(B|A)/PA

所以P(A|B) / P(B|A) = P(A) /P(B)

P(A|B)條件概率:在 B發(fā)生的情況下,A發(fā)生的概率

P(AB) 聯(lián)合概率,A與B同時發(fā)生的概率

貝葉斯理論

總結(jié)

以上是生活随笔為你收集整理的可汉学院python_18-04-18 回顾 可汗学院:计算数论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。