每日一题2019.9.11

 #coding = utf-8
"""
题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。
"""

number=int(input('输入任意正整数'))
mylist=[]
def funReduce(num):
    for i in range(2,num):
        if num%i==0:
            mylist.append(i)
            num=num//i
            return funReduce(num)
    mylist.append(num)
    if len(mylist)>1:
        print('{}能分解为{}'.format(number,mylist))
    else:
        print('{}是质数'.format(num))
        
funReduce(number)
 
# 递归思想
# 初学Python 请多多指教
posted @ 2019-09-11 16:17  雪瞳  阅读(183)  评论(0编辑  收藏  举报