题⽬:将⼀个正整数分解质因数。例如:输⼊90,打印出90=2*3*3*5。
程序分析:对n进⾏分解质因数,应先p找到⼀个最⼩的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并⽤n除以k的商,作为新的正整数n,重复执⾏第⼀步。(3)如果n不能被k整除,则⽤k+1作为k的值,重复执⾏第⼀步。
package Studytest;
public class Prog4 {
public static void main(String [] args){ int n=900;
decompose(n); }
//因数分解函数
private static void decompose(int n) {
System.out.print(n+\"=\"); for(int i=2;i<=n;i++) {
while (n%i==0&&n!=i) {
n/=i;
System.out.print(i+\"*\"); }
if(n==i){
System.out.print(i); break; } } }}
运⾏结果:
因篇幅问题不能全部显示,请点此查看更多更全内容