C语言实现用递归求正整数 a 和 b 最大公约数(辗转相除法)

完整代码:

复制代码
// 用递归求正整数 a 和 b 最大公约数。
#include<stdio.h>

//求最大公约数这里采用的是辗转相除法,也叫欧几里德算法

int func(int a,int b){
    //当a取模b为零是说明b就是a的最大公约数
    if (a%b==0)
    {
        return b;
    }
    //其他情况时,将a替换为b,b替换为a%b继续继续辗转相除
    //b>a时,这一步也可以将它们互换,此时a%b=a,即func(a,b)-->func(b,a)然后再继续辗转相除
    return func(b,a%b);
}


int main()
{
    int a,b;
    printf("请输入正整数a\n");
    scanf("%d",&a);
    printf("请输入正整数b\n");
    scanf("%d",&b);
    printf("%d与%d的最大公约数是%d",a,b,func(a,b));
    return 0;
}

运行截图:

相关推荐
追随者永远是胜利者1 小时前
(LeetCode-Hot100)53. 最大子数组和
java·算法·leetcode·职场和发展·go
生成论实验室1 小时前
即事经:一种基于生成论的宇宙、生命与文明新范式
人工智能·科技·神经网络·算法·信息与通信
王老师青少年编程1 小时前
csp信奥赛c++高频考点假期集训(分模块进阶)
数据结构·c++·算法·csp·高频考点·信奥赛·集训
z20348315202 小时前
如何通过状态机解决按键识别问题(二)
c语言·单片机·嵌入式硬件
代码改善世界3 小时前
从零开始写贪吃蛇游戏(C语言控制台版)
c语言·游戏
Eternity∞3 小时前
Linux系统下,C语言基础
linux·c语言·开发语言
癫狂的兔子3 小时前
【Python】【机器学习】K-MEANS算法
算法·机器学习·kmeans
Bear on Toilet3 小时前
递归_二叉树_50 . 从前序与中序遍历序列构造二叉树
数据结构·算法·leetcode·深度优先·递归
plus4s3 小时前
2月18日(82-84题)
c++·算法·动态规划
艾醒4 小时前
打破信息差——2026年2月19日AI热点新闻速览
算法