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
Libérer: 2022-02-21 16:56:04
original
3144 Les gens l'ont consulté

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
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal