演算法學習 2

2021-07-02 07:44:08 字數 1119 閱讀 3433

題目要求: 乙個數如果恰好等於它的因子之和(包括1, 但不包括這個數本身), 這個數就稱為」完數」. 例如28的因子為1,2,4,7,14, 而28=1+2+4+7+14. 因此28是」wan'shu」完數. 編寫演算法找出1000之內的所有完數, 並按下面格式輸出其因子: 28 it』s factors are 1,2,4,7,14. 

演算法設計:

c#define max_size (128)

int main(int argc, const char * argv)

, index = 0, num = 0;

// 頂層迴圈

for (int count = 1; count <= 1000; ++count)

}// 是否為完數

if (num == count)

index = num = 0;

}return 0;

}c++

int main(int argc, const char * argv)

;for (int count = 2; count <= 1000; ++count)

}if (num == count)

std::cout << std::endl;

}factors.clear();

}return 0;

}python

def main():

# 建立列表

arr = list()

for count in range(2, 1000 + 1):

num = 0

# 查詢因子

for factor in range(count//2, 0, -1):

if count % factor == 0:

num += factor

# 如是完數則輸出

if num == count:

print("%3d it's factors are " % count, end = '')

for index in range(len(arr)):    

print('%3d, ' % arr[index], end = '')

print()

num = 0

arr.clear()

演算法學習 2

當我們在沒有學習演算法之前,在做排序問題的時候,首先想到的應該是選擇排序或者是氣泡排序。其中選擇排序可能是大腦最自然的思考方式。很小的時候上體育課,在操場上,同學們零零散散站著,老師掃了一眼,叫了最高個同學站在到前面,然後再在剩餘同學中選擇最高的依次站成一排,重複此過程直到最後乙個同學也站入隊伍了後...

STL演算法學習2

二 變異演算法 是一組能夠修改容器元素資料的模板函式。copy v.begin v.end l.begin 將v中的元素複製到l中。1元素複製copy include include include include using namespace std void main 2元素變換transfo...

SIFT演算法學習(2)

3.sift sift全稱為 scale invariant feature transform 即尺度不變特徵變換。sift演算法提取的 sift 特徵具有如下特性 sift特徵是影象的區域性特徵,其對旋轉 尺度縮放 亮度變化保持不變性,對視角變化 放射變換 雜訊也保持一定程度的穩定性。獨特性好,...