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;

}

相关推荐
学不会就看14 分钟前
selenium学习实战【Python爬虫】
python·学习·selenium
q5673152316 分钟前
分布式增量爬虫实现方案
开发语言·分布式·爬虫·python
勤奋的知更鸟22 分钟前
LLaMA-Factory和python版本的兼容性问题解决
开发语言·python·llama-factory
CIb0la24 分钟前
Ai自动补全编程工具:llama vscode
运维·开发语言·学习·测试工具·程序人生
1candobetter34 分钟前
JAVA后端开发——多租户
java·开发语言
2301_8047744935 分钟前
回溯算法学习
学习
~Yogi1 小时前
今日学习:工程问题(场景题)
android·学习
freyazzr1 小时前
C++八股 | Day3 | 智能指针 / 内存管理 / 内存分区 / 内存对齐
开发语言·c++
序属秋秋秋1 小时前
《C++初阶之入门基础》【普通引用 + 常量引用 + 内联函数 + nullptr】
开发语言·c++·笔记
星辰离彬1 小时前
Java 高级泛型实战:8 个场景化编程技巧
java·开发语言·后端·程序人生