python基礎程式設計11 任意正整數的因數分解 - w3c菜鳥教程

文章推薦指數: 80 %
投票人數:10人

python基礎程式設計11 任意正整數的因數分解,把一個合數分解成若干個質因數的乘積的形式,即求質因數的過程叫做分解質因數。

python練習題問題如下 ... python基礎程式設計11任意正整數的因數分解 2021-08-1715:07:22字數1097閱讀3424 把一個合數分解成若干個質因數的乘積的形式,即求質因數的過程叫做分解質因數。

python練習題問題如下: 要求:將一個正整數分解質因數;例如您輸入90,分解列印90=2*3*3*5。

python解題思路分析: 這道題需要分三部分來分解,具體分解說明如下。

1、首先當這個質數恰等於n的情況下,則說明分解質因數的過程已經結束,列印出即可。

2、如果遇到n>=k,但n能被k整除的情況,則應列印出k的值。

同時用n除以k的商作為新的正整數你n,之後再重複執行該步的操作直到符合1。

defreducenum(n): '''策略:求解n的因式分解,首先從2開始到n遍歷, 如果n%某一個數的結果是整數,則列印出該數,同時n=n/該數 直到n==1結束 '''a='{}='.format(n) #判斷n是否為正整數 ifnotisinstance(n,int)orn<=0: print('請輸入一個正確的數字!') exit(0) #排除n的值為1的特殊情況 elifnin[1]: a+='{}'.format(n) #n的值不為1的正整數 whilennotin[1]:#迴圈保證遞迴 fortempinrange(2,n+1): ifn%temp==0:#更改n的值,同時記錄下它的因數並跳出for迴圈 n=int(n/temp)#n等於n/temp ifn==1:#此時n的值大小和因數相同,作為末尾因數 a+=str(temp) else:#index一定是因數 a+='{}*'.format(temp) break print(a) reducenum(999) reducenum(90)999=3*3*3*37 90=2*3*3*5 相關推薦 資料安全一週大事記 mybatis以及 Js繼承方式及優缺點 python基礎程式設計11任意正整數的因數分解 Linux下檢視命令列歷史 相關推薦 資料安全一週大事記 mybatis以及 Js繼承方式及優缺點 python基礎程式設計11任意正整數的因數分解 Linux下檢視命令列歷史 相關閱讀 資料安全一週大事記 mybatis以及 Js繼承方式及優缺點 python基礎程式設計11任意正整數的因數分解 Linux下檢視命令列歷史 8四平方和 topic 科技 教育 python 社會 linux 數碼 java c++ 遊戲 演算法 資料庫 健康 文化 mysql 汽車 娛樂 科學 財經 資料結構 C語言 職場 php oracle c# 作業系統 C 工作 體育 網路 sql



請為這篇文章評分?