python將乙個正整數分解質因數

2023-02-14 00:45:02 字數 2111 閱讀 7436

1樓:

n not in [1] 就是n不等於1

print '{format(index)是在最後將輸入的n列印成質因數,就是變成1*2*5這種樣式。

使用python將乙個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。應該要怎麼做?

2樓:深紅巨龍

對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完成:

(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。

(2)如果n<>k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正整數你n,重複執行第一步。

(3)如果n不能被k整除,則用k+1作為k的值,重複執行第一步。

程式源**:

例項(python

#!/usr/bin/python

# -*coding: utf-8 -*

def reducenum(n):

print '{format(n),if not isinstance(n, int) or n <=0 :

print '請輸入乙個正確的數字 !'

exit(0)

elif n in [1] :

print '{format(n)

while n not in [1] :# 迴圈保證遞迴。

for index in xrange(2, n + 1) :

if n % index ==0:

n /=index # n 等於 n/index

if n ==1:

print index

else : # index 一定是素數。

print '{format(index),break

reducenum(90)

reducenum(100)

以上例項輸出結果為:

將乙個正整數分解質因數。python3.6問題,輸出為空,是**出了問題,求大神解答

3樓:匿名使用者

第一是函式p(t,l)沒有返回,在函式裡修改列表l,是不能把結果帶回的,還有後面的**裡使用了p(t/h),p函式需要兩個引數,另外的**也有一些問題,分解質因數推薦寫成以下的形式。

4樓:

就是乙個簡單問題?怎麼我剛做了你這複雜多了的東西,還有人問這個太簡單等問題,

5樓:愛情轉正者

在整體**來說,你只是呼叫了第二個函式,而第乙個函式在第二個函式裡被呼叫。當呼叫走完第乙個函式的時候,重新回到了第二個函式,你的第二個函式,並沒有return。。。

這是估計分析的,不知道對不對。

將乙個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。

6樓:我走的慢

#include

int main()

//1:輸出最後乙個因子。一定是1,如果上面for有=num也輸出來了,所以只剩下1

//即:num==1;

//2:如果for沒有=num的情況,那麼,不一定是1的情況,可能還是其他,可以根據自己的需要改。

printf("%d",num);

return 0;}

c語言將乙個正整數分解質因數,望高手幫我詳細解釋一下程式?

7樓:4終

1、首先開啟, 新建乙個vc專案,新增標頭檔案。

2、新增main主函式,如下圖所示。

3、然後定義 n, i 兩個變數,如下圖所示。

4、接著使用scanf給n賦值,使用for迴圈。

5、然後用while作為內層迴圈,使用printf列印i。

6、最後使用if條件語句,執行程式,如下圖所示,正整數分解為質因子就完成了。

8樓:力恬然

什麼地方你沒有看懂啊。

將乙個正整數分解質因數。例如 :輸入90,列印出90=2*3*3*5 怎樣編寫程式

c語言,輸入乙個正整數,將這個正整數分解質因數

編寫程式輸入正整數n,計算1,編寫乙個程式輸入乙個正整數n,計算123354759,求前n項和

n和2n 1,遍歷,即可解決。include void main printf 4f n sum 怎麼用c語言編寫程式 輸入乙個正整數n,計算1 2 3 3 5 4 7 5 9 include int main void printf sum lf n sum return 0 試著執行吧,我沒上機...

給定乙個小於等於2的30次方的正整數,要求

include void main while n 0 printf 這個數是 d位數 l printf 正序輸出為 for i l 1 i 0 i printf 4d a i printf 逆序輸出為 for i 0 iprintf 4d a i 如果另乙個數不是整數,那必然有,如果另乙個是整數,...

Python的簡單問題,Python的乙個簡單問題

關於python的乙個小問題 20 python range 函式可建立乙個整數列表,一般用在 for 迴圈中。函式語法 range start,stop step 引數說明 start 計數從 start 開始。預設是從 0 開始。例如range 5 等價於range 0,5 stop 計數到 s...