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;

}

相关推荐
天天进步20159 分钟前
Python全栈项目--校园食堂点餐与推荐系统
开发语言·python
aaPIXa62210 分钟前
C++模板元编程:编译期计算Fibonacci数列
java·开发语言·c++
想要入门的程序猿18 分钟前
摄影测量学习()
数码相机·学习
worilb21 分钟前
Spring Cloud 学习与实践(13):使用 Seata 解决分布式事务问题
分布式·学习·spring cloud
eybk26 分钟前
写一个可以编制pdf文件的python程序
开发语言·python·pdf
渣渣灰飞34 分钟前
MySQL 系统学习 第四阶段:MySQL 高级 第一节:索引(Index)
数据库·学习·mysql
cui_ruicheng41 分钟前
Python从入门到实战(八):封装、多态与抽象类
开发语言·python
apihz42 分钟前
台风实时与历史详情查询免费 API 接口完整教程
android·开发语言·tcp/ip·dubbo·台风·天气预报
知无不研1 小时前
c语言和c++中的静态关键字
开发语言·c++·静态关键字
bksczm1 小时前
Linux之信号量(POSIX标准)
java·开发语言