‘壹’ 使用python将一个正整数分解质因数。例如:输入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的值,重复执行第一步。
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def receNum(n):
print '{} = '.format(n),
if not isinstance(n, int) or n <= 0 :
print '请输入一个正确的数字 !'
exit(0)
elif n in [1] :
print '{}'.format(n)
while n not in [1] : # 循环保证递归
for index in xrange(2, n + 1) :
if n % index == 0:
n /= index # n 等于 n/index
if n == 1:
print index
else : # index 一定是素数
print '{} *'.format(index),
break
receNum(90)
receNum(100)
以上实例输出结果为:
90 = 2 * 3 * 3 * 5100 = 2 * 2 * 5 * 5
‘贰’ python 求最大公约数
使用Python求解两个数的最大公约数的时候用到了前面介绍的分解质因式。其实,我写分解质因式程序的时候就是因为发现在实现最大公约数求解的过程中用到了这个功能
‘叁’ Python求因数分解
defm(n):
ret=[]
whilen>1:
foriinrange(n-1):
k=i+2
ifn%k==0:
ret.append(k)
n=int(n/k)
break
print(ret)
m(20)就可以输出20的因式分解了。
至于如何处理成^就比较简单了,可以用 Counter 自己处理下。
‘肆’ 谁知道这道Python题如何计算
应该也不难吧,因式分解
‘伍’ python 因式分解哪里错了
n=int(input('pleaseenteranumber:'))
whilen>1:
foriinrange(2,n+1):
ifn%i==0:
n=n//i
ifn==1:
print(i)
else:
print(i,'*',end='')
break
‘陆’ 求Python的质因数分解
x=eval(input("请输入小于1000的整数:"))
k=2
print(x,"=",end="")
while x>1:
if x%k==0:
print(k,end="")
x=x/k
if x>1:
print("*",end="")
else:
k=k+1
‘柒’ 三次多项式因式分解 python程序
temp = []
for d in range(0,c+1):
for e in range(d,c+1):
for f in range(e,c+1):
if d+e+f == a and d*e+e*f+d*f == b and d*e*f == c :
print('({},{},{})'.format(d,e,f))
temp.append((d,e,f))
if len(temp) < 1:
print('无法分解')
‘捌’ python结果输出不成功
你要输出的是大于等于10000的四位数,判断条件都写错了,还有列表添加元素最好用,append
,而不是让列表直接加!
‘玖’ python+100+102+104+106+108+110+加到200怎么写
摘要 您好关于您的问题很好解决,可以通过简单的判断语句和循环解决.我示意性的给您一个代码提示: