国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

Python基礎練習實例14(分解質因數)

極客小將2020-11-11-
題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。

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

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

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

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

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

程序源代碼:

實例(Python 2.0+)


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)

輸出結果:

90 =  2 * 3 * 3 * 5

本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 河间市| 天柱县| 沂水县| 云梦县| 绥阳县| 湖口县| 恭城| 巨野县| 芜湖县| 长垣县| 抚远县| 永顺县| 盐池县| 互助| 涪陵区| 吉林市| 板桥市| 稻城县| 建水县| 天长市| 建水县| 苏尼特右旗| 内黄县| 富民县| 恩施市| 永年县| 温州市| 平乡县| 宁乡县| 平山县| 白沙| 来凤县| 晋城| 兴隆县| 凤阳县| 沙雅县| 鹰潭市| 禄丰县| 牡丹江市| 南康市| 开化县|