C语言练习--给定两个数 ,取最大公约数

给定两个数 ,取最大公约数

暴力求解 效率低

int main()

{

int a = 0;

int b = 0;

scanf("%d %d", &a, &b);

int min = (a < b) ? a : b;

int i = 0;

for (i = min; i > 0; i--)

{

if (a % i == 0 && b % i == 0)

{

printf("有公约数:>%d", i);

break;

}

}

return 0;

}

辗转相除法

int main()

{

int a = 0;

int b = 0;

int c = 0;

scanf("%d %d", &a, &b);

while (c=a%b)

{

a = b;

b = c;

}

printf("最大公约数为 % d",b);

return 0;

}

相关推荐
ji198594436 分钟前
MATLAB 求散点曲线斜率
开发语言·算法·matlab
kaikaile199511 分钟前
MATLAB 实现:Koch & Zhao 图像水印算法(DCT域)
开发语言·算法·matlab
love_muming13 分钟前
链表每日一练
java·开发语言·数据结构·链表·idea·每日一练
weixin_4462608515 分钟前
LLM智能体在社交模拟中的决策行为分析:有限状态与LLM-based策略对比研究
开发语言·php
MartinYeung515 分钟前
[论文学习]CAMIA:基于上下文感知的成员资格推断攻击:针对预训练大型语言模型的深度分析
人工智能·学习·语言模型
牛肉在哪里20 分钟前
ros2 从零开始28 监听广播C++
开发语言·c++·算法·机器人
玖玥拾22 分钟前
C/C++ 数据结构(二)双向链表
c语言·数据结构·c++
chase。23 分钟前
【学习笔记】Unified World Models:基于视频-动作耦合扩散的机器人预训练新范式
笔记·学习·音视频
dnbug Blog31 分钟前
C 程序基本结构
c语言·程序结构
techdashen32 分钟前
Cargo 1.94 开发周期全解析
开发语言·后端·rust