NC151. 最大公约数
描述
如果有一个自然数 a 能被自然数 b 整除,则称 a 为 b 的倍数, b 为 a 的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。示例1
输入:
3,6
输出:
3
示例2
输入:
8,12
输出:
4
C++ 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2021-07-18
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 求出a、b的最大公约数。 * @param a int * @param b int * @return int */ int gcd(int a, int b) { // write code here if (a % b == 0) return b; return gcd(b, a % b); } };
C 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2021-07-18
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 求出a、b的最大公约数。 * @param a int * @param b int * @return int */ int gcd(int a, int b ) { // write code here int n=a%b; while(n!=0) { a=b; b=n; n=a%b; } return b; }
C++ 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2021-06-06
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 求出a、b的最大公约数。 * @param a int * @param b int * @return int */ int gcd(int a, int b) { int r=b; while (r != 0) { r = a % b; a = b; b = r; } return a; // write code here } };
C 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2021-05-24
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 求出a、b的最大公约数。 * @param a int * @param b int * @return int */ int gcd(int a, int b ) { // write code here if(b == 0){ return a; } else{ return gcd(b, a%b); } }
C++ 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2021-05-16
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 求出a、b的最大公约数。 * @param a int * @param b int * @return int */ int gcd(int a, int b) { while(b!=0) { int t=a%b; a=b; b=t; } return a; } };