zoukankan      html  css  js  c++  java
  • 把一个数分解成最小乘积[Java]

    /**
     * 时间:2012年11月15日 18:54:54
     * 内容:一道面试题: 把一个数分解成最小乘积
     *             请输入要分解的数字:90
     *                90=2*3*3*5
     *            请输入要分解的数字:123
     *                 123=3*41
     */
    private static void resolve() {
        int exit = 1;
        while(exit==1){
            try {
            System.out.print("请输入要分解的数字:");
            Scanner sc = new Scanner(System.in);
            int hei = sc.nextInt();
            if(hei==0)
                break;
            int temp = hei;
            boolean flag = true;
            boolean t = false;
            StringBuilder sb = new StringBuilder();
        
            while(flag){
                for(int i=3; i<=temp; i+=2){
                    if(i==3 && temp%2==0){
                        sb.append("2*");
                        temp=temp/2;
                        break;
                    }
                    if(temp%i==0){
                        sb.append(i+"*");
                        temp = temp/i;
                        if(temp==1){
                            flag = false;
                        }
                        break;
                    }
                }
            }
            String result = sb.toString();
            result = result.substring(0, result.length()-1);
            System.out.println(hei+"="+ result);
            } catch (Exception e) {
                System.err.println("请输入数字..");
            }
        }
        System.out.println("退出..............");
    }

  • 相关阅读:
    急招.NET系列职位
    程序员成长的三个方法
    xwebkitspeech
    张小龙的产品
    浅析商业银行“业务连续性管理体系”的构建
    Sonar for dotNet
    Moles测试Contrustor时候遇到的一个问题
    EntityFramework 用Moles的mock
    Accessor中Generic的元素是internal/private的会导致转换失败的异常
    Android自用Intent 介绍
  • 原文地址:https://www.cnblogs.com/qintangtao/p/2772077.html
Copyright © 2011-2022 走看看