首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

求两个正数的最大公约数的JavaScript程序

最大公约数(GCD)是指能够同时整除两个数的最大正整数。下面是一个使用欧几里得算法(辗转相除法)来求两个正数的最大公约数的JavaScript程序:

代码语言:txt
复制
function gcd(a, b) {
  if (b === 0) {
    return a;
  } else {
    return gcd(b, a % b);
  }
}

var num1 = 24;
var num2 = 36;
var result = gcd(num1, num2);
console.log("最大公约数是:" + result);

这个程序中,gcd函数使用递归的方式来计算最大公约数。当第二个数为0时,最大公约数就是第一个数。否则,将第二个数和第一个数除以第二个数的余数作为新的两个数,继续递归计算最大公约数。

对于输入的两个正数24和36,程序会输出最大公约数12。

腾讯云提供了云函数(Serverless Cloud Function)服务,可以用于部署和运行JavaScript程序。您可以使用云函数来执行上述JavaScript程序,具体操作可以参考腾讯云云函数的文档:云函数产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用辗转相除法两个正整数最大公约数

初中时候我们学过用辗转相除法最大公约数,今天用Python来实现这个功能。 一、问题描述 辗转相除法, 又名欧几里德算法(Euclidean algorithm),是最大公约数一种方法。...如果是两个最大公约数,那么最后除数就是这两个最大公约数。 二、代码实现原理讲解 step1: 将两数中大那个数放在m中,小放在n中。 step2: 求出m被n除后余数r。...赋值给m n=r #把r赋值给n r = m%n #余数 print(f"最大公约数是{n}") #输出n,即为最大公约数 代码解析: m,n: 先用split...while: 如果余数不为0,则把n赋值给m,r赋值给n,算出新余数,直到余数变为0,程序结束,得到n即为最大公约数。 print: 打印出最大公约数。...2 实例 实例一: 124668,3456668 #输入两个数 得到结果: 最大公约数是4 实例二: 128,48 #输入两个数 得到结果: 最大公约数是16

4.8K20
  • C语言——两个最大公约数和最小公倍数

    大家好,又见面了,我是你们朋友全栈君。 两个最大公约数常用方法: ※“辗转相除法”,又名欧几里得算法。...r÷r’……直到能够整除为止,此时除数即为最大公约数。...= 0){ t = a%b; a = b; b = t; } printf("最大公约数为:%d\n", b); return 0; } 首先,从键盘键入两个数a和b值,变量t来保存余数...※拓展:两个最小公倍数 关于最小公倍数与最大公约数,有这样定理:最小公倍数×最大公约数=两数乘积。...再设两个变量m、n来保存a、b原值。 先根据辗转相除法求出最大公约数b’(过程同①),再由最小公倍数=两数乘积÷最大公约数=m×n÷b’求得最小公倍数。

    40810

    C语言:两个最大公约数和最小公倍数

    C语言:两个最大公约数和最小公倍数 两个最大公约数:“辗转相除法”: 设两数为a和b(a>b),用a除以b,得a÷b=商…余数,若余数为0 ,则最大公约数为b;若余数不为0 ,则再用b÷余数..., 得b÷余数=商1…余数1,若余数1=0,则最大公约数为余数,若余数1不为0,继续让商÷余数n,一直到能够余数为零 这时除数即最大公约数。...两个最小公倍数: 最小公倍数=两数乘积÷最大公约数 #include #define MAX(a,b) (a>b)?a:b #define MIN(a,b) (a<b)?...= 0) { yu = a%b; a = b; b = yu; } printf("最大公约数为:%d\n", b); printf("最小公倍数为:%d",m*n/b)...; return 0; } 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145436.html原文链接:https://javaforall.cn

    57620

    面试官:来写个代码一下两个最大公约数

    最近去面试了,面了几家公司,深刻认识到一个道理,越是基础问题越重要,越能考察一个人技术功底与逻辑思维。比如我们接下来要说两个最大公约数问题。...这类简单算法题目一般会出现在面试环节,面试官要求你当场手撕那种。 言归正传,首先我们要知道面试官出两个最大公约数这个题目的目的是什么。知己知彼,才能百战不殆嘛。...当然,你也可以用辗转相除法实现,其基本原理是两个整数最大公约数等于其中较小那个数和两数相除余数最大公约数。...代码如下: //辗转相除法 //两个整数最大公约数等于其中较小那个数和两数相除余数最大公约数 private static int getCommonDivisor3(int m,int n){...最后,其实最大公约数方法还有很多,比如质因数分解法、短除法等等,大家感兴趣的话可以多去了解下,扩展下自己思维。

    33800

    最大公约数和最小公倍数算法

    大家好,又见面了,我是你们朋友全栈君。 在刷题过程中,经常会遇到很多关于最小公倍数和最大公约数问题。 以下是用C语言写最大公约数和最小公倍数算法。 最大公约数。...具体步骤就是:用较小数除较大数,再用出现余数(第一余数)去除除数,再用出现余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。最后除数就是这两个最大公约数。...=EOF) { c=gcd(a,b); printf("%d\n",c); } return 0; } 2、更相减损法 更相减损法是出自《九章算术》一种最大公约数算法,...9-6=3 6-3=3 3-3=0 然后3就是这两个最大公约数。...只需要先求出最大公约数。用两个乘积除以最大公约数即可。 例如x和y最小公倍数为x*y/gcd(x,y)。

    1.1K30

    三种算法两个正整数最大公约数和最小公倍数;三个数最大公约数和最小公倍数「建议收藏」

    大家好,又见面了,我是你们朋友全栈君。 第二次作业 题目:两个正整数最大公约数和最小公倍数。...基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好输入输出。 提高要求:1.三种以上算法解决两个正整数最大公约数问题。...求解两个最大公约数算法流程图: 两个数最小公倍数算法流程图: 1.辗转相除法(两个数) 用辗转相除法两个最大公约数步骤如下: 1.先用小一个数除大一个数,得第一个余数; 2....那么,最后一个除数就是所求最大公约数; 5. 输出最大公约数和最小公倍数。 2.辗转相除法(三个数) 如果三个数最大公约数,可以先两个最大公约数,再这个最大公约数与第三个数最大公约数。...基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好输入输出。 提高要求:1.三种以上算法解决两个正整数最大公约数问题。

    2.6K20

    2020-09-22:已知两个最大公约数,如何...

    2020-09-22:已知两个最大公约数和最小公倍数,并且这两个数不能是最大公约数和最小公倍数本身。如何判断这两个数是否存在?...福哥答案2020-09-22:#福大大架构师每日一题# 1.如果最小公倍数不能被最大公约数整除,不存在这两个数。 2.【商】=【最小公倍数/最大公约数】。...else: return False # 米勒拉宾素性检验 return is_prime_miller_rabin(num) # 已知两个最大公约数和最小公倍数...,并且这两个数不能是最大公约数和最小公倍数本身。...def is_exist_two_nums_by_gcd_lcm_not(gcd, lcm): """ 已知两个最大公约数和最小公倍数,并且这两个数不能是最大公约数和最小公倍数本身

    75510

    c语言:输入两个正整数 最大公约数和最小公倍数

    C语言永远不会过时 其实学编程关键是学习其思想,如果你精通了一门,再去学其他时候也很容易上手。C不会过时,尤其是在unix、linux操作平台上,学好C是必须。...C跟C++在很多方面也是兼容,c是c++基础。 再者c能从很大程度上帮你了解计算机发展史,数据结构等方面的知识,很多软件、甚至操作系统中很大部分是用c来实现。...还有一些电器芯片程序,比如电冰箱内制冷系统……可以说用c可以解决一切可能遇到问题,关键是你要能精通它。...裙里有大量学习资料,有大神解答交流问题,每晚都有免费直播课程 源代码: #include void main(){ int a,b,n1,n2,t; while(true) { printf("任意输入两个正整数...=0){   /*利用辗除法,直到b为0为止*/ t = a%b; a=b; b=t; } printf("最大公约数为:%d\n",a); printf("最小公倍数为:%d\n\n",n1*n2/a

    4.9K20

    最大公约数算法

    算法原理:   对于辗转相除法:i和j最大公约数,也就是i和j都能够除断它。换句话讲,就是i比jn倍多那个数k(i = j*n + k,即i % j = k)应该也是最大公约数倍数。...所以就能转换成k和j最大公约数。同理,对于更相减损术,同样道理,i比j大部分也是最大公约数倍数。...代码: 1 /** 2 * 最大公约数算法汇总 3 * 4 */ 5 public class GCD { 6 public static void main(String[...k.然后将问题转换成k和m最大公约数.依此类推,直到差为0. 48 * 这个方法也有一个问题,就是如果i和j想差比较大,那么这个方法存在较高时间复杂度. 49 */ 50...和m最大公约数.依此类推,直到余数为0. 71 * 该方法有一个比较大问题问题是取模性能。

    1.3K80

    程序员数学基础【四、取模应用-判断奇偶数、判断素数、两个最大公约数、水仙花数】(Python版本)

    前言: 模运算在数论和程序设计中都有着广泛应用,奇偶数判别到素数判别,从模幂运算到最大公约数求法,从孙子问题到凯撒密码问题,无不充斥着模运算身影。...0: isf = False if isf: print(x,"是素数") else: print(x,"不是素数") 3、两个最大公约数...:(辗转相除法) 最大公因数,也称最大公约数最大公因子,指两个或多个整数共有约数中最大一个。...a,b最大公约数记为(a,b),同样,a,b,c最大公约数记为(a,b,c),多个整数最大公约数也有同样记号。最大公约数有多种方法,常见有质因数分解法、短除法、辗转相除法、更相减损法。...与最大公约数相对应概念是最小公倍数,a,b最小公倍数记为[a,b]。

    62320

    数据结构与算法-求取两个整数最大公约数

    本文建议阅读时间 20 min 求取两个整数最大公约数 解法一:辗转相除法(欧几里德算法)Euclidean algorithm 定理:两个正整数 a、b (a>b),它们最大公约数等于 a 除以...b 余数 c 和 b 之间最大公约数 思路:使用递归算法,结束条件:两个数可以相除,或者某一个数减少到 1 测试用例: 输入有 0,输入非整数 普通值(交换位置各尝试一次) 输入值相邻(较大值...10000, 9999) # 辗转相除法(欧几里德算法)Euclidean algorithm # 定理:两个正整数 a、b(a>b),它们最大公约数等于 a除以 b 余数 c 和 b 之间最大公约数...,当两个整数较大时,性能会比较差 时间复杂度为:近似 O (log (max (a, b))) 解法二:更相减损法 定理:两个正整数 a、b (a>b),它们最大公约数等于 a-b 差值 c 和较小数...b 最大公约数 def get_greatest_commin_divisor(num1: int, num2: int) -> int: assert isinstance(num1, int

    66120
    领券