题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
分析: 1、先找到n的最小质数 k 2、若n== k,直接打印即可。 3、若n != k,但 n%k==0,则打印出k的值,并令 n=n/k,重复执行上述步骤。 4、如果n%k!=0,则用k+1的值做为k,重复执行上述步骤。
import java.util.Scanner; public class Test2{ public static void main(String[] args){ int prime = 2; System.out.print("请输入一个大于1的正整数:"); Scanner in = new Scanner(System.in); int num = in.nextInt(); System.out.println(); System.out.print(num+"="); while(prime<=num){ if(prime==num){ System.out.print(prime); break; } if(num%prime==0){ System.out.print(prime+"*"); num = num/prime; } else prime++; } } }