将一个正整数分解质因数。
例如:输入90,打印出90=233*5。
算法分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
代码展示:
package day06;
import java.util.Scanner;
public class t04 {
public static void main(String[] args) {
System.out.println("请输入一个数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.print(num+"=");
for (int i = 2; i <=num ; i++) {
while (num!=i){
if (num>i){
if (num%i==0){
num=num/i;
System.out.print(i+"*");
}else {
i=i+1;
}
}
}
}
System.out.println(num);
}
}
运行结果:
如果代码看不懂,请评论留言,可以为你们一 一解答哦