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);

       }

     

    }

  • 相关阅读:
    vb dll com 组件发布web servcies
    修改表字段
    实体类集合安某个字段排序
    jquery 页面追加换行等等操作备份
    表锁死 杀死线程
    jeecg 自定义loading框(导入时加载备份)
    UBoot200903移植笔记(第二阶段:时钟!)
    UBoot200903移植笔记(点亮第一展灯)
    UBoot200903移植笔记(从Nandflash启动一)
    UBoot200903移植笔记(从Nandflash启动二)
  • 原文地址:https://www.cnblogs.com/Jasxu/p/fenjiezhiyinshu.html
Copyright © 2011-2022 走看看