Maison >interface Web >Questions et réponses frontales >Comment trouver le plus grand diviseur commun de deux nombres en JavaScript

Comment trouver le plus grand diviseur commun de deux nombres en JavaScript

WBOY
WBOYoriginal
2022-02-21 16:51:463143parcourir

En JavaScript, vous pouvez utiliser l'instruction de fonction et l'instruction if avec les opérateurs "%" et "===" pour trouver le plus grand diviseur commun de deux nombres. La syntaxe est "function pgcd(x,y){if(. x%y ===0){return y;}return pgcd(y,x%y)}".

Comment trouver le plus grand diviseur commun de deux nombres en JavaScript

L'environnement d'exploitation de ce tutoriel : système Windows 10, JavaScript version 1.8.5, ordinateur Dell G3.

Comment trouver le plus grand diviseur commun de deux nombres en JavaScript

En JavaScript, trouvez le plus grand diviseur commun de deux nombres,

Les exemples sont les suivants :

 //功能:求最大公约数
        //参数: x 、y   number
        //返回值: number
        function gcd(x , y){
            if(x % y === 0){
                return y ;
            }
            return gcd(y , x % y)
            //三目运算符写法:
            //return x % y === 0 ? y : gcd(y , x % y) ; 
        }
        var res = gcd(5 , 20) ;
        console.log(res) ;    //5

Autres méthodes :

1. pour trouver le reste

    <script>
        //最大公约数  --- 循环求余数
        //功能:两个数的最大公约数
        //参数:x,y  number
        //返回值:最大公约数  number
        function gcd(x , y){
            //比较两个数的大小,取较小的数
            var min = x < y ? x : y ;
            //从大到小循环找第一个公约数
            for(var i = min ; i >= 1 ; i--){
                //判断是否为公约数
                if(x % i == 0 && y % i == 0){
                    return i ;
                }
            }
        }
        var res = gcd(5 , 20);
        document.write(res) ;  //5
    </script>

2. Plus grand diviseur commun - Algorithme euclidien - implémentation récursive

F méthode : trouver le reste du grand nombre à la décimale, répéter ce processus jusqu'à ce que le reste soit 0

    <script>
        // 最大公约数  --- 欧几里得算法  -- 递归实现
        //递归:大数对小数求余,重复这个过程直到余数为 0
        //功能:求最大公约数
        //参数:m,n   number
        //返回值: number
        function gcd(m , n){
            //大数能否整除小数
            var max = m > n ? m : n ;
            var min = m < n ? m : n ;
            if(max % min == 0){
                //如果能整除,小数就是最大公约数
                return min ;
            }
            else{
                return f(min,  max % min) ;
            }
        }
        var res = gcd(5 , 20) ;
        document.write(res) ;  //5
    </script>

Recommandations associées : tutoriel d'apprentissage du javascript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn