把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。
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