zoukankan      html  css  js  c++  java
  • 程序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("*"));

        

  • 相关阅读:
    Day 20 初识面向对象
    Day 16 常用模块
    Day 15 正则表达式 re模块
    D14 模块 导入模块 开发目录规范
    Day 13 迭代器,生成器,内置函数
    Day 12 递归,二分算法,推导式,匿名函数
    Day 11 闭包函数.装饰器
    D10 函数(二) 嵌套,命名空间作用域
    D09 函数(一) 返回值,参数
    Day 07 Day08 字符编码与文件处理
  • 原文地址:https://www.cnblogs.com/kuikui/p/2532372.html
Copyright © 2011-2022 走看看