求最大公约数

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

int gcd(int a,int b)
{
    return b == 0 ? a : gcd(b,a%b);
}

int main()
{
    cout << gcd(13,3);
    return 0;
}

函数解析:

该函数运用欧几里得公式:a,b的最大公约数等于 b 和a%b的最大公约数;而a和a%b的最大公约数又等于a%b和b % (a%b)的最大公约数,一直循环直到b=0;循环到b==0也就是说a / b除尽了,因为任何数与0的最大公约数都是他本身,所以就求出来了;

总的来说就是a,b的最大公约数等于b和a % b的最大公约数,可以一直求a % b,因为他总会循环到a % b = 0,而当a % b = 0时b就时最大公约数;

相关推荐
nlog3n2 分钟前
Go语言交替打印问题及多种实现方法
开发语言·算法·golang
How_doyou_do13 分钟前
备战菊厂笔试4
python·算法·leetcode
朱剑君13 分钟前
第九天——贪心算法——非递减数组
算法·贪心算法
代码AC不AC38 分钟前
【C++】STL简介
c++·stl简介
Wnq1007244 分钟前
工业场景轮式巡检机器人纯视觉识别导航的优势剖析与前景展望
人工智能·算法·计算机视觉·激光雷达·视觉导航·人形机器人·巡检机器人
unityのkiven1 小时前
C++中的虚表和虚表指针的原理和示例
开发语言·c++
火山灿火山1 小时前
【简单模拟实现list】
c++
芯眼1 小时前
STM32启动文件详解(重点)
java·开发语言·c++·stm32·单片机·mybatis
天上路人3 小时前
AI神经网络降噪算法在语音通话产品中的应用优势与前景分析
深度学习·神经网络·算法·硬件架构·音视频·实时音视频
好吃的肘子3 小时前
MongoDB 应用实战
大数据·开发语言·数据库·算法·mongodb·全文检索