题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
将一个正整数分解质因数
分析:对n进行分解质因数,找到最小的质数k
如果这个质数恰好等于n则说明分解质因数过程已经结束,打印输出即可
如果n<>k,但n能被k整除,则因打印k的值,并用n除以k的商,作为新的正整数n,重复2
如果不能被k整除,则用k+1作为k的值
import java.util.*; public class Rabbit{ public static void main(String[] args){ System.out.println("请输入一个你要分解的正整数"); Scanner sc=new Scanner(System.in); int input=sc.nextInt(); System.out.print(input+"="); for(int i=2;i<input+1;i++){ while(input%i==0&&input!=i){ input=input/i; System.out.print(i+"*"); } //这个地方的判断是为了剔除121,具体的方法还待优化 if(input==i){ System.out.print(i); break; } } sc.close(); } }