第16周 完美數(效率低,求改進)

2021-06-27 14:29:46 字數 1027 閱讀 9699



問題及**:

/* 

*檔名稱:num.cpp

*作 者:單昕昕

*完成日期:2023年12月12日

*版 本 號:v1.0

* *問題描述:任何乙個自然數的約數中都有1和它本身,我們把小於它本身的因數叫做這個自然數的真約數。 如6的所有真約數是1、2、3,而且6=1+2+3。像這樣,乙個數所有真約數的和正好等於這個數,通常把這個數叫做完美數。 古希臘人非常重視完美數。畢達哥拉斯發現它之後,人們就開始了對完美數的研究。 現在要求輸出所有在m和n範圍內的完美數。

*程式輸入:輸入資料有多組,每組佔一行,包括兩個整數m和n(1≤m≤n≤99999999)。 輸入以0 0結束。

*程式輸出:對於每個測試例項,要求輸出所有在給定範圍內的完美數,就是說,輸出的完美數必須大於等於m並且小於等於n,如果有多個,則要求從小到大排列在一行內輸出,之間用乙個空格隔開; 如果給定的範圍內不存在完美數,則輸出no; 每個測試例項的輸出佔一行。

*/

#include using namespace std;

int main()

{ int i,k,sum,m,n;

while(cin>>m>>n&&m!=0&&n!=0)

{if(1<=m&&m<=99999999&&1<=n&&n<=99999999)

{for(i=2; i<=n&&i>=m; i++)

{sum=1;

for(k=2; k<=i/2; k++)

if(i%k==0)

sum+=k;

if(sum==i)

cout<

執行結果:

知識點總結:

完美數。

學習心得:

效率低啊啊啊啊啊。

超時了啊啊啊啊啊。

求大神指點迷津啊。

第16周專案3歸併排序演算法的改進

函式 include include include include define minlength 64 最短分段長度 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef struct 記錄型別 rectype 排序的記錄型別...

第16周專案3 歸併排序演算法的改進

問題及 檔名稱 cpp1.cpp 完成日期 2015年12月14日 版本號 v1.0 問題描述 採用歸併排序 快速排序等高效演算法進行排序,當資料元素較少時 如n 64 經常直接使用直接插入排序演算法等高複雜度的演算法。這樣做,會帶來一定的好處,例如歸併排序減少分配 臨時儲存區域的頻次,快速排序減少...

第16周 專案3 歸併排序演算法的改進

問題描述及 ifndef btree h included define btree h included 煙台大學計控學院 作 者 楊徵 完成日期 2015年12月18日 問題描述 採用歸併排序 快速排序等高效演算法進行排序,當資料元素較少時 如n 64 經常直接使用直接插入排序演算法等高複雜度的...