zoukankan      html  css  js  c++  java
  • javascript求最大公约数

     1 <!doctype html>
     2 <head>
     3     <meta charset = "utf-8" />
     4 </head>
     5 
     6 <body>
     7     <script>
     8         /**
     9             欧几里得算法求最大公约数
    10             @param m 大数
    11             @param n 小数
    12             @return n 最大公约数
    13         */
    14         const euclid = function(m,n){
    15             let r;
    16             while((r = m % n) != 0){
    17                 m = n;
    18                 n = r;
    19             }
    20             return n;
    21         }
    22         /**
    23             更相减损术求最大公约数
    24             @param m 大数
    25             @param n 小数
    26             @return n 最大公约数
    27         */
    28         const MPOR = function(m,n){
    29             //判断是否都为偶数,若是则除2直到不能除为止
    30             while(m % 2 == 0 && n % 2 == 0){
    31                 m = m / 2;
    32                 n = n / 2;
    33             }
    34             //当差等于最小值
    35             let temp = null;
    36             while((temp = m - n) != n){
    37                 //比较差和小数,把较大的给m,较小的给n
    38                 if(temp > n){
    39                     m = temp;
    40                 } else{
    41                     m = n;
    42                     n = temp;
    43                 }
    44             }
    45             
    46             return n;
    47         }
    48         document.write(euclid(98,63) + "<br />");
    49         document.write(MPOR(98,63));
    50     </script>
    51 </body>
    52 
    53 </html>
  • 相关阅读:
    读书笔记--Linux Shell脚本攻略
    深入理解javascript原型链
    javascript基本类型及类型转换
    ECMAScript6 Promise
    git初体验
    走进git
    Dom编程优化
    go 递归实现快排
    go语言排序
    实现一个迭代器类
  • 原文地址:https://www.cnblogs.com/githubMYL/p/8883508.html
Copyright © 2011-2022 走看看