• Java 分解质因数


    /**
     * PrimeFactor.java
     * @author:王超
     * 2017年3月13日
     * wangChaoPA实习工作练习.com.分解质因数.PrimeFactor
     * Copyright (c) 2007, 2016 Infopower corporation All Rights Reserved.
     */
    package wangChaoPA实习工作练习.com.分解质因数;

    import java.util.Scanner;

    public class PrimeFactor
    {
        private static Scanner input = new Scanner(System.in);

        /**
         * <p>
         * 描述:递归函数 分解数为质因数的乘积
         * </p>
         *
         * @param input
         *            要分解的数
         */
        public static void diGui(int input)
        {
            if (input <= 1)
            {
                System.out.print("无解");
            }
            else if (input == 2)
            {
                System.out.print(input);
            }
            else
            {
                for (int j = 2; j < input; j++)
                {
                    // input不是质数且j是质数
                    if (input % j == 0 && isPrimeNum(j))
                    {
                        // 分解的质因数
                        System.out.print(j + "*");
                        // 从新赋值
                        input = input / j;
                        // 判断赋值后的input是否为质数
                        if (isPrimeNum(input))
                        {
                            System.out.println(input);
                            break;
                        }
                        else
                        {

                        }
                        // 调用递归函数
                        diGui(input);
                        break;
                    }
                }
            }
        }

        /**
         * <p>
         * 描述:判断是否为质数
         * </p>
         *
         * @param n
         *            要判断的数字
         * @return
         */
        public static boolean isPrimeNum(int n)
        {
            // 默认所有的n都为质数
            boolean result = true;
            for (int j = 2; j < n; j++)
            {
                if (n % j == 0)
                {
                    // 不是质数
                    result = false;
                    break;
                }
            }
            return result;
        }

        /**
         * 将一个正整数分解为质因数 例如9 = 3*3
         *
         */
        public static void main(String[] args)
        {
            int in = input.nextInt();
            System.out.print("分解的质因数为:" + in + "=");
            diGui(in);
            input.close();
        }
    }

  • 相关阅读:
    liferay常用api总结
    liferay增删改简单小练习
    MD5加密
    日期的工具类
    java生成随机六位数的验证码&随机生成十位数ValidCode码,用于邮件的验证&检查是不是符合为合法的中国的手机号码
    MyBaties
    网页的外观---CSS层叠样式表---03
    还在买鲜花送女神?手把手教你搭建3D立体相册网站,包女神稀饭
    Vue入门——常见指令及其详细代码示例
    什么是可串行化MVCC
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/6551189.html
Copyright © 2020-2023  润新知