编写程序,输入一个大于1的正整数,分解出其质因数。例如:输入90,输出2*3*3*5。
时间: 2023-06-11 17:06:02 浏览: 249
以下是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时,说明所有的质因数都已经找到,程序结束。
用java编程,将一个正整数分解质因数,例如:输入90,打印出90=2*3*3*5
在Java中,我们可以编写一个函数来分解正整数为质因数。这里是一个简单的示例:
```java
public class PrimeFactor {
public static void primeFactors(int num) {
while (num % 2 == 0) { // 将2作为因子并去除,直到不能整除2
System.out.print(2 + " "); // 打印2
num /= 2; // 更新num
}
for (int i = 3; i * i <= num; i += 2) { // 只检查奇数,因为偶数已经在前面处理过了
while (num % i == 0) { // 如果i是因子,去除它并将结果打印
System.out.print(i + " ");
num /= i;
}
}
if (num > 2) { // 如果num还是大于2,那它是剩下的质因子
System.out.print(num); // 打印最后剩下的质因数
}
}
public static void main(String[] args) {
int number = 90;
primeFactors(number);
}
}
```
当你运行这个程序,输入数字90,会输出 `90=2*3*3*5`。
阅读全文