尋找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