本文實(shí)例講述了Python實(shí)現(xiàn)簡(jiǎn)單求解給定整數(shù)的質(zhì)因數(shù)算法。分享給大家供大家參考,具體如下:
接著做題遇到求解質(zhì)因數(shù)分解的問(wèn)題,思想很簡(jiǎn)單,就是需要遍歷從1到該整數(shù)本身,并且判斷當(dāng)數(shù)字為質(zhì)數(shù)時(shí)加入列表最后輸出即可,求解這樣的一個(gè)正整數(shù)的質(zhì)因數(shù)分解,關(guān)鍵在于理解,每次得到一個(gè)質(zhì)因數(shù)之后需要更新整數(shù)為:原始整數(shù)除以這個(gè)質(zhì)因數(shù)的值,循環(huán)直至原始整數(shù)的值小于2終止,輸出結(jié)果即可,實(shí)現(xiàn)如下:
#!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í)更新除數(shù)值,不必每次都從頭開(kāi)始 print ' '.join(list0)+' '
結(jié)果如下:
90
2 3 3 5
180
2 2 3 3 5
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選