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

来源:互联网 发布:cms监控软件使用说明 编辑:程序博客网 时间:2024/05/16 10:09

import java.util.Scanner;

/**
 * 问题:
 * 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
 *
 * 分析如下:
 * 1.先找到这个正整数的最小质因数,如90先除找到2
 * 2.然后让这个正整数除于这个质因数的商做为新的正整数来重复步骤1
 * 3.如果这个正整数不能整除i,就让i=i+1,直到这个正整数能被i整数。
 *
 * @author Administrator
 *
 * 程序如下:
 *
 *
 */
public class PrimeFactors {
   
    public static void main(String args[]){
        System.out.println("请输入要分解质因数的整数,按Enter键结束!");
        Scanner s=new Scanner(System.in);
        int a=s.nextInt();
        System.out.println("分解质因数如下所示:");
        PrimeFactors pf=new PrimeFactors();
        System.out.print(a+"=");
        pf.primeFactors(a);
    }
   
    public void primeFactors(int a){
        for(int i=2;i<a;i++){
            while(a%i==0){
                System.out.print(i);       
                System.out.print("*");
                a/=i;               
            }           
        }
        System.out.println(a);
    }
   
}

原创粉丝点击