python基礎程式設計11 任意正整數的因數分解 - w3c菜鳥教程
文章推薦指數: 80 %
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
延伸文章資訊
- 1質因數
質因數. 120的所有因數有1,2,3,4,5,6,8,10,12,15,20,24,30,40,60, 120. 這些因數中,有2,3,5三個數是質數,因此又稱為120的質因數,. 而120可...
- 2python練習——將正整數分解成為質因數(迴圈、終止 - 程式人生
技術標籤:python練習'''Python 練習例項14 題目:將一個正整數分解質因數。例如:輸入90,打印出90=233*5。 程式分析:對n進行分解質因數, ...
- 3我才剛學python沒多久,拜託各位幫我解決這題因數分解
我才剛學python沒多久,拜託各位幫我解決這題因數分解. python. 質因數分解問題. matthew0612. 1 年前‧ 5789 瀏覽. 檢舉. 0. My code: a=int(...
- 4python基礎程式設計11 任意正整數的因數分解 - w3c菜鳥教程
python基礎程式設計11 任意正整數的因數分解,把一個合數分解成若干個質因數的乘積的形式,即求質因數的過程叫做分解質因數。 python練習題問題如下 ...
- 5質因數分解- Python 教學 - STEAM 教育學習網
這篇文章會介紹使用Python 變數的計算、while 迴圈、for 迴圈、input 指令和if 判斷式,做出一個使用者輸入數字後,判斷數字是否為質數,如果不是質數,就將其做質因數 ...