Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk mencari pembahagi sepunya terbesar bagi dua nombor dalam JavaScript
Dalam JavaScript, anda boleh menggunakan penyataan fungsi dan jika penyataan dengan operator "%" dan "===" untuk mencari pembahagi sepunya terbesar bagi dua nombor Sintaksnya ialah "fungsi gcd(x,y) {if (x%y===0){return y;}return gcd(y,x%y)}".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.
Dalam JavaScript, cari pembahagi sepunya terbesar bagi dua nombor,
Contohnya adalah seperti berikut:
//功能:求最大公约数 //参数: 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
Kaedah lain:
1 Pembahagi sepunya terhebat - gelung untuk mencari baki
<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. Pembahagi sepunya terhebat - Algoritma Euclidean - pelaksanaan rekursif
kaedah f: cari baki nombor besar hingga perpuluhan, ulangi proses ini sehingga bakinya ialah 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>
Cadangan berkaitan: tutorial pembelajaran javascript
Atas ialah kandungan terperinci Bagaimana untuk mencari pembahagi sepunya terbesar bagi dua nombor dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!