完美數的演算法設計(C語言) - IT閱讀

文章推薦指數: 80 %
投票人數:10人

尋找1~10000之間的完美的數。

法一程式程式碼如下: #include int fun_perfect(int number) { int i,sum=0 ... 完美數的演算法設計(C語言) 首頁 最新 HTML CSS JavaScript jQuery Python3 Python2 Java C C++ Go SQL 首頁 最新 Search 完美數的演算法設計(C語言) 2019-01-07254 完全數(Perfectnumber),又稱完美數或完備數,是一些特殊的自然數。

它所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等於它本身。

如果一個數恰好等於它的因子之和,則稱該數為“完全數”。

尋找完美的數題目描述:所謂完美的數是這個數除了它自身之外,所有因子的和等於該數。

例如:28,其因子包括:1,2,4,7,14,28,除了28之外,1+2+4+7+14=28再例如:6,其因子包括:1,2,3,6除了6之外,1+2+3=6尋找1~10000之間的完美的數。

法一程式程式碼如下: #include intfun_perfect(intnumber) { inti,sum=0; for(i=1;inumber) return0; } returnsum==number; } intmain() { inti; for(i=2;i<10000;i++) { if(fun_perfect(i)) printf("%d\n",i); } return0; } 很明顯,此法較為暴力,當搜尋範圍較小時,執行的效率可以被接受,但倘若所搜尋的範圍高達十幾萬,此法執行效率較低需十幾秒。

法二:優化暴力搜尋程式程式碼如下: #include #include intfun_perfect(intnumber) { inti,sum=1; for(i=2;i*i #include intmain() { intarr[5]={2,3,5,7,11}; for(inti=0;i<5;i++) { intnum=pow(2,arr[i]-1)*(pow(2,arr[i])-1); if(num<100000){ printf("%d\n",num); } } return0; } 相關文章 完美數的演算法設計(C語言) 分散式系統中的演算法設計(一)--一致性Hash API限流器(二)史上最優秀的訪問頻率控制器的演算法設計詳解 幾個重要的演算法設計技術 [演算法]揹包問題的經典演算法和貪心演算法解答,C語言實現 六大排序演算法與常見的兩大查詢演算法彙總(C語言) 《資料結構與演算法分析-C語言描述》詳解-Sec2(一) 資料結構與演算法分析c語言描述(MarkAllen)--棧ADT連結串列實現 從演算法學起C語言--楊輝三角 資料結構與演算法分析C語言描述----Makefile 從演算法學起C語言--八枚硬幣 [演算法]兩種字串匹配演算法(索引法,KMP演算法)對比,C語言實現 最短路徑Dijkstar演算法和Floyd演算法詳解(c語言版) 演算法精解-C語言描述遞迴和尾遞迴(圖解+例項) 學習總結--《演算法筆記》(c語言版) 分類導航 HTML/CSS HTML教程 HTML5教程 CSS教程 CSS3教程 JavaScript JavaScript教程 jQuery教程 Node.js教程 服務端 Python教程 Python3教程 Linux教程 Docker教程 Ruby教程 Java教程 JSP教程 C教程 C++教程 Perl教程 Go教程 PHP教程 正則表達式 資料庫 SQL教程 MySQL教程 PostgreSQL教程 SQLite教程 MongoDB教程 Redis教程 Memcached教程 行動端 IOS教程 Swift教程 Advertisement 三度辭典 Copyright©2016-2021IT閱讀  Itread01.comAllRightsReserved. 0.001291036605835



請為這篇文章評分?