求最大公约数

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就时最大公约数;

相关推荐
别或许2 小时前
1、高数----函数极限与连续(知识总结)
算法
田梓燊2 小时前
code 560
数据结构·算法·哈希算法
笨笨饿2 小时前
29_Z变换在工程中的实际意义
c语言·开发语言·人工智能·单片机·mcu·算法·机器人
kobesdu2 小时前
综合强度信息的激光雷达去拖尾算法解析和源码实现
算法·机器人·ros·slam·激光雷达
weixin_413063212 小时前
记录 MeshFlow-Online-Video-Stabilization 在线稳像
算法·meshflow·实时防抖
会编程的土豆3 小时前
【数据结构与算法】动态规划
数据结构·c++·算法·leetcode·代理模式
炘爚3 小时前
深入解析printf缓冲区与fork进程复制机制
linux·运维·算法
迈巴赫车主4 小时前
蓝桥杯19724食堂
java·数据结构·算法·职场和发展·蓝桥杯
6Hzlia4 小时前
【Hot 100 刷题计划】 LeetCode 78. 子集 | C++ 回溯算法题解
c++·算法·leetcode
Kethy__4 小时前
计算机中级-数据库系统工程师-数据结构-查找算法
数据结构·算法·软考·查找算法·计算机中级