将输入的一个正整数分解质因数,并将结果输出
时间: 2024-12-11 10:34:14 浏览: 20
当然,要将一个正整数分解为质因数,我们可以使用循环和条件判断来完成这个任务。这里有一个简单的Python函数,它可以接收一个正整数作为输入并返回它的质因数分解:
```python
def prime_factors(n):
i = 2
factors = []
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
# 如果n还有其他质因子(大于sqrt(n))
if n > 1:
factors.append(n)
return factors
# 示例用法
input_num = int(input("请输入一个正整数: "))
factors = prime_factors(input_num)
print(f"数字 {input_num} 的质因数分解是: {factors}")
```
在这个函数中,我们从2开始遍历,如果当前的i能整除n,我们就更新n为n除以i的结果,并把i添加到因数列表中;如果不能整除,就继续检查下一个更大的数。当i的平方大于n时,说明剩下的n就是最后一个质因数。
现在你可以运行这段代码,并输入一个正整数看看结果。
相关问题
将输入的一个正整数分解质因数
将一个正整数分解质因数,就是将其表示成若干个质数相乘的形式。你可以使用循环和条件判断来实现这个过程。以下是一个简单的 Python 函数,用于分解一个正整数为质因数:
```python
def prime_factors(n):
factors = []
divisor = 2 # 首先从最小的质数开始
while divisor <= n:
if n % divisor == 0: # 如果n能被divisor整除
factors.append(divisor) # 将divisor添加到质因子列表中
n //= divisor # 更新n为n除以divisor后的结果
else:
divisor += 1 # 如果不能整除,则尝试下一个数字
# 如果n还有剩余(即不是1),则可能是最后一个质因数
if n > 1:
factors.append(n)
return factors
# 示例:
number = int(input("请输入一个正整数: "))
factors = prime_factors(number)
print(f"数字 {number} 的质因数分解为: ", factors)
```
当你运行此程序并输入一个正整数时,它会输出该数的质因数列表。
将输入的一个正整数分解质因数,并将结果输出。例如:输入90,打印出90=2*3*3*5*
以下是Python代码实现:
```python
n = int(input("请输入一个正整数:"))
factors = []
for i in range(2, n+1):
while n % i == 0:
factors.append(i)
n //= i
if len(factors) == 0:
print("{}是质数".format(n))
else:
print("{}=".format(n), end="")
for i in range(len(factors)-1):
print("{}*".format(factors[i]), end="")
print(factors[-1])
```
运行结果:
```
请输入一个正整数:90
90=2*3*3*5
```
解释:首先读入一个正整数n,然后从2开始循环判断n是否能被i整除,如果能就将i作为一个因子加入到factors列表中,并更新n的值为n除以i的商。循环继续直到n等于1为止。如果factors列表为空,说明n本身就是一个质数,直接输出即可;否则,将factors列表中的因子用*连接起来输出即可。
阅读全文