将一个正整数分解质因数。比如输入 90,输出 90-2*3*3*5
时间: 2023-10-21 18:19:32 浏览: 85
我们可以用循环的方法,从 2 开始,依次找出能够整除该数的最小质因数,然后将该数除以这个质因数,重复这个过程,直到该数为 1。
以下是 Python 代码实现:
```
n = int(input("请输入一个正整数:"))
result = str(n) + "-"
for i in range(2, n+1):
while n % i == 0:
result += str(i) + "*"
n = n // i
print(result[:-1])
```
运行结果:
```
请输入一个正整数:90
90-2*3*3*5
```
相关问题
编写一个c语言程序:将一个正整数分解质因数。比如输入 90,输出 90-2*3*3*5
```
#include <stdio.h>
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
printf("%d=", num);
for (int i = 2; i <= num; i++) {
while (num % i == 0) {
printf("%d", i);
num /= i;
if (num != 1) {
printf("*");
}
}
}
return 0;
}
```
说明:
1. 首先输入一个正整数;
2. 然后用一个循环从2开始遍历到这个数,判断这个数是否为质数;
3. 如果这个数是质数,就不断将这个数除以这个质数,并输出这个质数;
4. 如果这个数不是质数,就继续除以这个质数,并输出这个质数;
5. 直到这个数被分解成1为止,输出完整的分解式。
编程将一个正整数分解成质因数例如: 输入 90 输出 90=2*3*3*5
编程将一个正整数分解成质因数的过程可以通过循环和判断来实现。以下是一个示例代码:
```python
def prime_factors(n):
factors = []
i = 2
while i <= n:
if n % i == 0:
factors.append(i)
n = n / i
else:
i += 1
return factors
def format_factors(n, factors):
result = str(n) + " = "
for i in range(len(factors)):
result += str(factors[i])
if i != len(factors) - 1:
result += " * "
return result
def decompose_integer(n):
factors = prime_factors(n)
result = format_factors(n, factors)
return result
number = int(input("请输入一个正整数:"))
result = decompose_integer(number)
print(result)
```
运行以上代码,输入一个正整数,程序将会输出该正整数的质因数分解结果。