Java 之 分解质因数

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

 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

 (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

编程实现:

import java.util.*;

public class DecPrime{

  public static void main(String []args){

    int number;

    System.out.print("Please input a number:");

    Scanner scanner = new Scanner(System.in);

    number = scanner.nextInt();

 

    System.out.print(number+"=");

    for(int i=2; i<=number; i++){

      while(number>1 && number!=i){

        if(number%i == 0){

          System.out.print(i+"*");

          number = number/i;

        }else{

          break;

        }

      }

    }

    System.out.print(number); //输出最后一位质因数

  }

}

posted @ 2012-01-28 22:37  qin520  阅读(1332)  评论(0编辑  收藏  举报