Python 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

来源:互联网 发布:银行笔试 备考 知乎 编辑:程序博客网 时间:2024/06/03 15:20
#!/usr/bin/python# coding=utf-8def reduceNum(n):    print '{} = '.format(n),  # {}可以代替%,使用 format 函数格式化字符,到时答应
 出来就是 n=... ,具体可以搜{}的用法    if not isinstance(n, int) or n <= 0:         #如果 n的类型不是整数或者不是正数        print '请输入一个正确的数字 !'        exit(0)                                  #无错误退出程序    elif n == 1:                                 #n is in [1]  此处其实就是 
#n==1 的意思        print '1',    while n <> 1:                                #n is not in [1] 此处其实就是
# n!==1 的意思 循环保证递归        for index in range(2, n + 1):            if n % index == 0:                n = n/index                      #n 等于 n/index                if n == 1:                   print index                   #用来输出最后一位数字                else:                            #index 一定是素数                    print '{} *'.format(index),                    break                       #跳出整个for的循环,
#开始进行下一轮n被for循环的相除#reduceNum(0)#reduceNum(1)#reduceNum(101)reduceNum(90)

阅读全文
0 0