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;

}

相关推荐
float_六七7 分钟前
行级与块级元素:核心区别与应用场景
开发语言·前端·javascript
唐装鼠11 分钟前
Rust Cow(deepseek)
开发语言·后端·rust
weixin_4624462319 分钟前
【实践原创】 dify创建获取天气的Agent
学习·dify
Trouvaille ~20 分钟前
【Linux】库制作与原理(二):ELF格式与静态链接原理
linux·运维·c语言·操作系统·动静态库·静态链接·elf文件
落贯一21 分钟前
C Programming Language | Manipulating arrays in functions
c语言
我爱C编程32 分钟前
【1.22】基于FPGA的Costas环开发课程学习总结
学习·fpga开发·costas环
抹除不掉的轻狂丶33 分钟前
Java 日志框架完整指南:发展历史、核心组成与最佳实践
java·开发语言·python
lsx20240641 分钟前
Bootstrap5 按钮组
开发语言
全栈陈序员41 分钟前
Vue 实例挂载的过程是怎样的?
前端·javascript·vue.js·学习·前端框架
Trouvaille ~44 分钟前
【Linux】库制作与原理(三):动态链接与加载机制
linux·c语言·汇编·got·动静态库·动态链接·plt