分解质因数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分解质因数相关的知识,希望对你有一定的参考价值。
程序地址:http://www.cheemoedu.com/exercise/54
问题描述:
将一个正整数分解质因数。例如,输入90,打印出90=2*3*3*5
我的代码:
n=int(raw_input("input a number: ")) a=[] k=2 while n: if n==k: a.append(k) break elif n>=k and n%k==0: a.append(k) n=n/k else: k=k+1 print a
我的思路:
对n进行分解质因数,先找到一个最小得质数k,我设为了2:
(1)如果k等于n,则说明过程已经结束,打印出即可;
(2)如果n>=k,且n能被k整除,则打印出k的值,并用n除以k得商,作为新的正整数n,重复执行第一步;
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步;
(4)最后打印出所有的质数;
示例代码:
def fun(n): res = [] k = 2 while k <= n: if n % k == 0: res.append(k) n /= k else: k += 1 print res fun(90)
以上是关于分解质因数的主要内容,如果未能解决你的问题,请参考以下文章