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;

}

相关推荐
An_s3 分钟前
机器学习python之识别图中物品信息
java·linux·开发语言
小雪_Snow13 分钟前
JavaScript 中的三种常用事件
开发语言·前端·javascript
肖爱Kun17 分钟前
C++设计策略模式
开发语言·c++·策略模式
2501_9142459318 分钟前
C语言与硬件交互:从GPIO到中断的嵌入式编程实践
c语言·单片机·交互
灯澜忆梦42 分钟前
GO_面向对象_方法
开发语言·golang
布朗克1681 小时前
Go 入门到精通-16-字符串深入
开发语言·后端·golang·字符串
胡渠洋1 小时前
postman学习
学习·测试工具·postman
北冥you鱼1 小时前
Go flag 包详解:从命令行解析到实战应用
开发语言·后端·golang
炸膛坦客1 小时前
单片机/C/C++八股:(二十四)编译文件( .bin 和 .hex ,包括 .elf 和 .axf )
c语言·c++·单片机
web守墓人2 小时前
【python】uv解决依赖安装缓慢的问题
开发语言·python·uv