程序4

【程序4】
题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。

方法一:
        function intFactor(num) {
            var i = 2;
            while (num >= i) {
                if (num === i) {
                    document.write(i);
                    break;
                }
                else if (num % i === 0) {
                    document.write(i + "*");
                    num = num / i;
                }
                else {
                    i++;
                }
            }
        }

 



方法二:

        function intFactor(n) {
             var arr = new Array();
             var tmp = Math.sqrt(n);
             for (var i = 2; i <= tmp; ) {
                 if (n % i === 0) {
                     arr.push(i);
                     n = n / i;
                 }
                 else {
                     i++;
                 }
             }
             return arr;
         }

        document.write(intFactor(90).join("*"));

    

 

posted @ 2012-06-02 23:26  前端咖  阅读(217)  评论(0编辑  收藏  举报