java编程 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

麻烦写下过程
2024年11月22日 07:09
有4个网友回答
网友(1):

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

网友(2):

输入一个整数n...做一个循环从2到n/2...如果n可以整除这个循环里其中的一个数..就记录这个数或输出这个数...然后把n/x(x是这个循环里其中一个数)..直到n为0就退出这个循环

网友(3):

在for循环结束之后打印一下x的值就可以了啊
=================================================================
public
static
void
main(String[]
args){
int
i;//题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
Scanner
sc
=
new
Scanner(System.in);
System.out.println("输入数字吧");
int
x
=
sc.nextInt();//
System.out.print(x+"=");
for(i=2;i<88;i++)//
{
while(x!=i)//找到最小质数
{
if(x%i==0)
{
System.out.print(i+"*");
x=x/i;
}else
{
break;
}
}
}
System.out.print(x);//加的就是这句话
}

网友(4):

package demo1;
import java.util.Scanner;
public class P3 {
int k = 2;
public void f(int n) {
while (k <= n) {
if (k == n) {
System.out.println(n);
break;
} else if (n > k && n % k == 0) {
System.out.print(k + "*");
n = n / k;
f(n);
break;
} else if (n > k && n % k != 0) {
k++;
f(n);
break;
}
}
}
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
int input = scan.nextInt();
System.out.print(input + "=");
P3 t = new P3();
t.f(input);
}
}