python编写:将一个正整数分解质因数。 例如:输入5,打印出 5;输入30,打印出 2*3*5。
时间: 2024-05-31 13:08:51 浏览: 4
def prime_factors(n):
i = 2
factors = []
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
if n > 1:
factors.append(n)
return factors
num = int(input("请输入一个正整数:"))
factors = prime_factors(num)
if len(factors) == 1:
print(num)
else:
output = ""
for factor in factors:
output += str(factor) + "*"
print(output[:-1])
相关问题
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5,其中质数的判断单独编写为一个函数。python
def is_prime(n):
"""
判断一个数是否为质数
"""
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def prime_factorization(n):
"""
将正整数n分解质因数
"""
if n <= 1:
return str(n) + "没有质因数分解"
result = str(n) + "="
factor = 2
while n > 1:
if n % factor == 0 and is_prime(factor):
result += str(factor) + "*"
n //= factor
else:
factor += 1
return result[:-1]
print(prime_factorization(90)) # 输出 90=2*3*3*5
用python编写一个将一个正整数分解质因数的代码
好的,以下是用Python编写的将一个正整数分解质因数的代码:
```python
def prime_factors(n):
i = 2
factors = []
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
if n > 1:
factors.append(n)
return factors
n = int(input("请输入一个正整数:"))
print("该数的质因数分解结果为:", prime_factors(n))
```
输入一个正整数,程序会返回该数的质因数分解结果。例如,输入数值为 36,则程序会输出 `[2, 2, 3, 3]`,表示 36 = 2 * 2 * 3 * 3。