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

原创 2017年01月03日 00:23:02

遇到一个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):123124324324134334
2 X 293 X 313 X 362107 X 1853809

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

相关文章推荐

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

遇到一个题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
  • rosboy
  • rosboy
  • 2014年08月13日 21:17
  • 12477

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

  • 2011年09月25日 14:55
  • 2KB
  • 下载

Java将一个正整数分解质因数相乘的形式

import java.util.*; /*将一个正整数分解质因数 * 每个合数都可以写成几个质数相乘的形式,这几个质数就都叫做这个合数的质因数 */ public class Int...
  • lwcumt
  • lwcumt
  • 2012年09月29日 14:30
  • 16316

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

问题:将一个正整数分解质因数,例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:     *     (1)如果这个质数...

记录--java--将一个正整数分解质因数

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

将一个正整数分解质因数

将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 package demo40; import java.util.ArrayList; import java.util.Li...

C语言实例9—将一个正整数分解质因数

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 /* 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质...

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

突然发现初学程序都离不开数学,从第一道的费波那契数列到前一道的水仙花数。而这一道就是质因素了。什么是质因数呢,这是小学的知识了,应该还没还给老师吧。在Wiki百科中质因数是指能整除给定正整数的质数。而...

将一个正整数分解质因数

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:   (1)如果这个质数恰等于n,则说明分解...
  • wuha0
  • wuha0
  • 2012年02月05日 19:01
  • 382

将一个正整数分解质因数

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python 将一个正整数分解质因数
举报原因:
原因补充:

(最多只允许输入30个字)