编写程序,输入一个大于1的正整数,分解出其质因数。例如:输入90,输出2*3*3*5。
时间: 2023-06-11 22:06:02 浏览: 178
以下是Python语言的程序代码:
```python
n = int(input("请输入一个大于1的正整数:"))
factors = []
i = 2
while i <= n:
if n % i == 0:
factors.append(i)
n /= i
else:
i += 1
print("{}={}".format(str(n), "*".join(str(factor) for factor in factors)))
```
程序的基本思路是:从2开始依次尝试去除n的因子,如果能除尽,就将这个因子加入一个列表factors中,并将n除以这个因子,一直重复这个过程直到n等于1。最后输出质因数分解结果。
相关问题
C语言编写程序,输入一个大于1的正整数,分解出其质因数。例如:输入90,输出2*3*3*5。
以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int num, i;
printf("请输入一个大于1的正整数:");
scanf("%d", &num);
printf("%d=", num);
for (i = 2; i <= num; i++) {
while (num % i == 0) {
printf("%d", i);
num /= i;
if (num != 1) {
printf("*");
}
}
}
return 0;
}
```
首先从键盘读入一个大于1的正整数,然后从2开始依次判断该数是否能被整除,如果可以,就将该数作为质因数输出,并将原数除以该质因数。如果不能整除,则将判断下一个数。当原数等于1时,说明所有的质因数都已经找到,程序结束。
编写程序,输入一个大于0的正整数,分解质因数并输出。例如,当输入90后,输出为1*2*3*3*5.
```python
n = int(input("请输入一个大于0的正整数:"))
factors = [] # 存储质因数的列表
# 从2开始循环,尝试将n分解为若干个质因数的乘积
while n > 1:
for i in range(2, n + 1):
if n % i == 0: # i是n的一个因数
factors.append(i) # 将i加入质因数列表
n //= i # n除以i,更新n的值,继续分解
break
# 将质因数列表转化为字符串输出
result = '*'.join(str(i) for i in factors)
print(result)
```
输出示例:
```
请输入一个大于0的正整数:90
2*3*3*5
```