色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數論入門:如何快速求出與n互素的數

算法與數據結構 ? 來源:小K算法 ? 作者:小K算法 ? 2022-09-30 11:41 ? 次閱讀

01 故事起源

一個數n,在小于等于n的正整數[1,n]中,與n互素的數有多少個呢?

(注:x與n互素,說明x與n的最大公約數為1)

777f439a-406f-11ed-b1c7-dac502259ad0.jpg

02 分析

最直觀的方法當然就是直接枚舉所有小于n的數,再通過求最大公約數判斷即可。

但當n很大的時候,這個方法就不優了。可能有同學已經發現了,這個不就是歐拉函數的定義嗎,所以今天我們從數學上來分析如何快速求解。

03 歐拉函數

歐拉函數定義如下:

77ba6a06-406f-11ed-b1c7-dac502259ad0.jpg

歐拉函數具有幾個優秀的性質,先介紹幾個常用的數學符號,便于描述。

77d96f14-406f-11ed-b1c7-dac502259ad0.jpg

3.1 性質1

當n為素數時,很明顯phi(n)=n-1,因為所有小于n的數都與n互素。

78056db2-406f-11ed-b1c7-dac502259ad0.jpg

當n為某個素數p的冪次時,即n=p^k,則與n不互素的一定為p的倍數。 [1,n]中p的倍數一共有p^(k-1)個,所以互素的即為總數減去不互素的個數。

782f80a2-406f-11ed-b1c7-dac502259ad0.jpg

3. 性質2

歐拉函數是一個積性函數,當整數m,n互素時,phi(mn)=phi(m)*phi(n)。

78650240-406f-11ed-b1c7-dac502259ad0.jpg

這個性質的證明需要用到同余和集合相關的定理,有點復雜,以后寫同余相關的知識再專門分享如何證明,現在就先記住這個性質就行了。

04 計算

有了這2個性質就可以推導出歐拉乘積公式。

789251c8-406f-11ed-b1c7-dac502259ad0.jpg

接下來就只需要考慮如何對n進行質因素分解。 最簡單的方式可以直接枚舉,先找到最小的質因子p1,然后除去所有p1因子,再對剩余的數繼續分解。

78cfd980-406f-11ed-b1c7-dac502259ad0.jpg

05 代碼實現


inteuler_phi(intn){
intm=sqrt(n+0.5); intans=n;
for(inti=2;i<=?m;?++i)?{ ????
if(n==1)break;
if(n%i==0){
ans=ans/i*(i-1);
while(n%i==0)n/=i;
} } if(n>1)ans=ans/n*(n-1);
returnans; }

06 總結
現在的算法復雜度主要取決于尋找第一個質因子,枚舉并不是最快的方法,更快的方法是基于費馬小定理,miller_rabin,pollard_rho等原理的隨機化算法。 數論是一個大類,在很多地方都有重要的應用,而素數在密碼學中應用也很廣泛,今天分享的算是數論入門的一個介紹,后面還會分享更多有關數論的知識。
編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4629

    瀏覽量

    93193

原文標題:如何快速求出與n互素的數有多少個?

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CK-RX65N快速入門指南

    CK-RX65N快速入門指南
    發表于 01-11 18:48 ?0次下載
    CK-RX65<b class='flag-5'>N</b> – <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    RZ/N1 目標管理快速入門指南

    RZ/N1 目標管理快速入門指南
    發表于 03-14 20:07 ?0次下載
    RZ/<b class='flag-5'>N</b>1 目標管理<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    RZ/N1 目標 CANopen 快速入門指南

    RZ/N1 目標 CANopen 快速入門指南
    發表于 03-14 20:07 ?0次下載
    RZ/<b class='flag-5'>N</b>1 目標 CANopen <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    RZ/N1 目標 PROFINET 快速入門指南

    RZ/N1 目標 PROFINET 快速入門指南
    發表于 03-15 20:26 ?1次下載
    RZ/<b class='flag-5'>N</b>1 目標 PROFINET <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    RX65N Envision Kit 快速入門指南

    RX65N Envision Kit 快速入門指南
    發表于 03-21 20:00 ?1次下載
    RX65<b class='flag-5'>N</b> Envision Kit <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    YRDKRX62N 快速入門指南(IAR Embedded Workbench)

    YRDKRX62N 快速入門指南 (IAR Embedded Workbench)
    發表于 04-12 19:14 ?0次下載
    YRDKRX62<b class='flag-5'>N</b> <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南(IAR Embedded Workbench)

    YRDKRX62N 快速入門指南(NO-RTOS)

    YRDKRX62N 快速入門指南 (NO-RTOS)
    發表于 04-12 19:14 ?0次下載
    YRDKRX62<b class='flag-5'>N</b> <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南(NO-RTOS)

    YRDKRX62N 快速入門指南(Micrium)

    YRDKRX62N 快速入門指南 (Micrium)
    發表于 04-12 19:14 ?0次下載
    YRDKRX62<b class='flag-5'>N</b> <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南(Micrium)

    YRDKRX63N 快速入門指南 Rev.3.03

    YRDKRX63N 快速入門指南 Rev.3.03
    發表于 05-15 19:29 ?0次下載
    YRDKRX63<b class='flag-5'>N</b> <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南 Rev.3.03

    RZ/N1 GOAL POWERLINK 快速入門指南

    RZ/N1 GOAL POWERLINK 快速入門指南
    發表于 07-05 20:32 ?0次下載
    RZ/<b class='flag-5'>N</b>1 GOAL POWERLINK <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    RZ/N1 目標管理快速入門指南

    RZ/N1 目標管理快速入門指南
    發表于 07-05 20:33 ?0次下載
    RZ/<b class='flag-5'>N</b>1 目標管理<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    RZ/N1D CODESYS 快速入門指南

    RZ/N1D CODESYS 快速入門指南
    發表于 07-07 19:25 ?1次下載
    RZ/<b class='flag-5'>N</b>1D CODESYS <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    YRDKRX63N 快速入門指南 Rev.3.03

    YRDKRX63N 快速入門指南 Rev.3.03
    發表于 07-11 20:41 ?0次下載
    YRDKRX63<b class='flag-5'>N</b> <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南 Rev.3.03

    YRDKRX62N 快速入門指南(IAR Embedded Workbench)

    YRDKRX62N 快速入門指南 (IAR Embedded Workbench)
    發表于 08-04 18:30 ?1次下載
    YRDKRX62<b class='flag-5'>N</b> <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南(IAR Embedded Workbench)

    YRDKRX62N 快速入門指南(NO-RTOS)

    YRDKRX62N 快速入門指南 (NO-RTOS)
    發表于 08-04 18:30 ?0次下載
    YRDKRX62<b class='flag-5'>N</b> <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南(NO-RTOS)
    主站蜘蛛池模板: 亚洲成人国产 | 亚洲一区自拍高清亚洲精品 | 成人无码国产AV免费看直播 | xxx日本hd| 欧洲美女高清一级毛片 | 好色美女小雅 | 好硬好湿好爽再深一点视频 | 97视频在线观看免费播放 | 狠狠色狠狠色综合日日小说 | 久久免费视频1 | 亚洲欧美成人无码久久久 | 免费毛片a在线观看67194 | 四虎一级片 | 午夜视频无码国产在线观看 | 黄色直接观看 | 九九精品国产亚洲A片无码 九九精彩视频在线观看视频 | 国产色综合色产在线视频 | chinese野外男女free | 美女胸被男子强捏视频 | 日本一区二区三区在线观看网站 | 国产成人精品综合在线 | 久久九九青青国产精品 | 亚洲三级在线观看 | 国内精品国内自产视频 | 翁公咬着小娇乳H边走边欢A | 免费女性裸身照无遮挡网站 | 毛片网站视频 | 国产99久久九九精品无码不卡 | 色戒未删减版在线观看完整 | 野草视频在线观看 | 久久aa毛片免费播放嗯啊 | 亚洲精品成人无码区一在线观看 | 色AV色婷婷96人妻久久久 | 老女老肥熟国产在线视频 | 色多多污污在线播放免费 | 99re6久久在热线视频 | 秋霞电影网视频一区二区三区 | 伦理电影v男人天堂 | 5g在视影讯天天5g免费观看 | 亚洲中文字幕永久在线全国 | 久久综合狠狠综合久久综合88 |