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;

}

相关推荐
小字节,大梦想1 小时前
【数据结构】详细介绍各种排序算法,包含希尔排序,堆排序,快排,归并,计数排序
c语言·数据结构·c++·算法
程序猿进阶1 小时前
ThreadLocal 释放的方式有哪些
java·开发语言·性能优化·架构·线程池·并发编程·threadlocal
walfar1 小时前
动手学深度学习(pytorch)学习记录25-汇聚层(池化层)[学习记录]
pytorch·深度学习·学习
程序者王大川1 小时前
【大数据】如何读取多个Excel文件并计算列数据的最大求和值
开发语言·python·excel·big data
Mryan20051 小时前
OpenJudge | 寻找中位数
开发语言·数据结构·c++·算法·openjudge
lizi888882 小时前
打包Python代码的常用方法实现程序exe应用
开发语言·python
api茶飘香3 小时前
守护应用边界:通过反射API实现安全的输入输出过滤
java·开发语言·python·安全·django·virtualenv·pygame
杀死一只知更鸟debug3 小时前
策略模式的小记
java·开发语言·策略模式
efls1113 小时前
Qt_了解Qt Creator
开发语言·qt
请揣满RMB3 小时前
Qt常用控件——QRadioButton和QCheckBox
开发语言·c++·qt