在数学中,最大公约数(GCD)是最大可能的整数,该整数将两个整数相除。条件是数字必须为非零。
我们将遵循欧几里得算法来找到两个数字的GCD。
Input: Two numbers 51 and 34 Output: The GCD is: 17
findGCD(a, b)
输入:两个数字a和b。
输出: a和b的GCD。
Begin if a = 0 OR b = 0, then return 0 if a = b, then return b if a > b, then return findGCD(a-b, b) else return findGCD(a, b-a) End
#include<iostream> using namespace std; int findGCD(int a, int b) { //assume a is greater than b if(a == 0 || b == 0) return 0; //as a and b are 0, the greatest divisior is also 0 if(a==b) return b; //when both numbers are same if(a>b) return findGCD(a-b, b); else return findGCD(a, b-a); } int main() { int a, b; cout << "Enter Two numbers to find GCD: "; cin >> a >> b; cout << "The GCD is: " << findGCD(a,b); }
输出结果
Enter Two numbers to find GCD: 51 34 The GCD is: 17
本文向大家介绍查找两个数字的LCM,包括了查找两个数字的LCM的使用技巧和注意事项,需要的朋友参考一下 在数学中,最小公倍数(LCM)是可能的最小整数,可以被两个数整除。 LCM可以通过许多方法来计算,例如因式分解等。但是在此算法中,我们将较大的数字乘以1,2,3…。直到找到一个可被第二个数字整除的数字。 输入输出 算法 输入:两个数字a和b,视为a> b。 输出: a和b的LCM。 示例 输出
我已经读过一些其他的堆栈溢出线程: 在java中求两个多集的交集 我如何获得两个数组之间的交集作为一个新数组? 我试图检查两个数组以及它们的元素数(numElementsInX和numElementsInY),并返回一个包含数组x和y的公共值的新数组。他们的交集。 编辑代码
我是Java新手,为了练习,我在互联网上找到了一项任务: "在你输入的两个数字之间找到所有完美的数字。" 顺便说一下——一个完美的数字是一个自然数,等于它所有除数的和。所以我开始工作,遇到了这样一个问题,当我输入两个数字时。 例如:,我在控制台中得到正确答案:。但是,如果第一个数字是,例如,,第二个是,我会将此输出输出到控制台:,而我应该只得到。也就是说,出于某种原因,最小值不会缩短对完美数的搜索
问题内容: 如何使用PHP查找两个日期之间的天数? 问题答案:
问题内容: 我正在尝试 使用循环从两个不同的用户输入中打印常用字母。(我需要使用for循环来完成它。)我遇到了两个问题:1.我的语句“ If char not in output …”没有提取唯一值。2.输出为我提供了单个字母列表,而不是单个字符串。我尝试分割输出,但是分割遇到类型错误。 问题答案: 您正在尝试执行“设置相交”。Python有 相同的方法。您可以将其用于您的用例,例如: 将返回字符
问题内容: 给定两个相等长度的字符串,是否有一种优雅的方法来获取第一个不同字符的偏移量? 显而易见的解决方案是: 但这对于如此简单的任务而言似乎并不正确。 问题答案: 您可以使用按位XOR()的一个不错的属性来实现此目的:基本上,当您将两个字符串异或时,相同的字符将变为空字节()。因此,如果我们对两个字符串进行异或运算,我们只需要使用以下命令找到第一个非空字节的位置: 这里的所有都是它的。因此,让