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;

}

相关推荐
:12120 分钟前
java基础
java·开发语言
SilentSamsara1 小时前
Python 环境搭建完整指南:从下载安装到运行第一个程序
开发语言·python
小短腿的代码世界1 小时前
Qt文件系统与IO深度解析:从QFile到异步文件操作
开发语言·qt
星幻元宇VR1 小时前
VR航空航天科普设备【VR时空直升机】
科技·学习·安全·生活·vr
_李小白1 小时前
【android opencv学习笔记】Day 2: Mat类(图片数据结构体)
android·opencv·学习
JasmineX-12 小时前
数据结构(笔记)——双向链表
c语言·数据结构·笔记·链表
harder3212 小时前
RMP模式的创新突破
开发语言·学习·ios·swift·策略模式
jinanwuhuaguo3 小时前
OpenClaw工程解剖——RAG、向量织构与“记忆宫殿”的索引拓扑学(第十三篇)
android·开发语言·人工智能·kotlin·拓扑学·openclaw
Rust研习社3 小时前
使用 Axum 构建高性能异步 Web 服务
开发语言·前端·网络·后端·http·rust
程序猿乐锅4 小时前
【Tilas|第三篇】多表SQL语句
数据库·经验分享·笔记·学习·mysql