本文實例講述了Python實現(xiàn)簡單求解給定整數(shù)的質(zhì)因數(shù)算法。分享給大家供大家參考,具體如下:
接著做題遇到求解質(zhì)因數(shù)分解的問題,思想很簡單,就是需要遍歷從1到該整數(shù)本身,并且判斷當(dāng)數(shù)字為質(zhì)數(shù)時加入列表最后輸出即可,求解這樣的一個正整數(shù)的質(zhì)因數(shù)分解,關(guān)鍵在于理解,每次得到一個質(zhì)因數(shù)之后需要更新整數(shù)為:原始整數(shù)除以這個質(zhì)因數(shù)的值,循環(huán)直至原始整數(shù)的值小于2終止,輸出結(jié)果即可,實現(xiàn)如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:求解整數(shù)的質(zhì)因數(shù)分解 ''' num = int ( raw_input ()) def get_num_factors(num): list0 = [] tmp = 2 if num = = tmp: print num else : while (num> = tmp): k = num % tmp if ( k = = 0 ): list0.append( str (tmp)) num = num / tmp #更新 else : tmp = tmp + 1 #同時更新除數(shù)值,不必每次都從頭開始 print ' ' .join(list0) + ' ' |
結(jié)果如下:
90
2 3 3 5
180
2 2 3 3 5
PS:這里提供一款功能相似的在線工具供大家參考:
希望本文所述對大家Python程序設(shè)計有所幫助。
原文鏈接:https://blog.csdn.net/Together_CZ/article/details/75146875