zoukankan      html  css  js  c++  java
  • Java经典案例之-“分解质因数”

    /**

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

     * 分析:

     * 对n进行分解质因数,应该先找到一个最小的质数k,然后按照下列步骤进行:

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

     * (2)如果n!=k,但n等被k整除,这应打印出k的值,并用n除以k的商,作为新的正整数,重复执行第一步

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

     * 作者:徐守威

     */

    package com.xushouwei;

    import java.util.*;

    public class T4 {

     

       /**

        * @param args

        */

       public static void main(String[] args) {

          // TODO Auto-generated method stub

          Scanner sc=new Scanner(System.in);

          System.out.println("请输入您要分解的正整数:");

          //定义要需要分解质因数的正整数

          int n=sc.nextInt();

          //定义最小质数k

          int k=2;

          System.out.print(n+"分解质因数后结果为:"+n+"=");

          //用k与n的值作为循环条件

          while(n>k)

          {

             //如果n能被k整除(即n%k时候等于0),如果能整除这打印出k的值

             if(n%k==0)

             {

                //打印出k的值

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

               

                //用n除以k的商作为新的正整数

                n=n/k;

             }

             //如果n不能被k整除,则用k+1作为k的值

             if(n%k!=0)

             {

                k++;//k值加一

             }

          }

          //打印最终的k的值

          System.out.println(k);

       }

     

    }

  • 相关阅读:
    CSS基本
    Visual Basic相关图书推荐
    Docker相关图书推荐
    PASCAL相关图书推荐
    正则表达式相关图书推荐
    Go语言相关图书推荐
    F#相关图书推荐
    Ruby相关图书推荐
    PHP相关图书推荐
    Swift相关图书推荐
  • 原文地址:https://www.cnblogs.com/Jasxu/p/fenjiezhiyinshu.html
Copyright © 2011-2022 走看看