分解质因数


把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。


Python练习题问题如下:
要求:将一个正整数分解质因数;例如您输入90,分解打印90=2*3*3*5。

Python解题思路分析:
这道题需要分三部分来分解,具体分解说明如下。
1、首先当这个质数恰等于n的情况下,则说明分解质因数的过程已经结束,打印出即可。
2、如果遇到n<>k,但n能被k整除的情况,则应打印出k的值。同时用n除以k的商,作为新的正整数你n,之后再重复执行第一步的操作。
3、如果n不能被k整除时,那么用k+1作为k的值,再来重复执行第一步的操作系统。


def reduceNum(n):
    print ('{} = '.format(n))
    if not isinstance(n, int) or n <= 0 :
        print ('请输入一个正确的数字')
        exit(0)
    elif n in [1] :
        # 如果 n 为 1
        print('{}'.format(n))
    while n not in [1] : # 循环保证递归
        for index in range(2, n + 1) :
            if n % index == 0:
                n //= index # n 等于 n//index
                if n == 1: 
                    print (index) 
                else : # index 一定是素数
                    print ('{} *'.format(index),end = "   ")
                break
reduceNum(90)
reduceNum(100)


2020-05-18

 

posted @ 2020-05-18 14:05  CodeYaSuo  阅读(977)  评论(0编辑  收藏  举报