Python 将一个正整数分解质因数

来源:互联网 发布:网络直播软件 编辑:程序博客网 时间:2024/05/24 06:09

遇到一个Python编程联系题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。


#!/usr/bin/env python# -*- coding: utf-8 -*-def div_func(n):    result = []    while True:        for i in xrange(2, int(n**0.5) + 1):            if n % i == 0:                result.append(i)                n /= i                break        else:            result.append(n)            break    return ' * '.join(map(str, result))num = raw_input('please enter a number( < 1.0E+18):')try:    int_num = int(num)    if int_num > 10**18 or int_num < 0:        raise ValueError()    print div_func(int_num)except ValueError:    print 'invalid number'please enter a number( < 1.0E+18):1231243243241343342 X 293 X 313 X 362107 X 1853809

自己写的,完全没有参考网上其它人的算法。结果和大家都差不多。

0 0