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;

}

相关推荐
Love Song残响2 分钟前
高效自动化清理临时文件方案
java·开发语言·spring
古城小栈6 分钟前
Rust 中符号语法 一文全晓
开发语言·后端·rust
爱吃生蚝的于勒13 分钟前
【Linux】零基础深入学习动静态库+深入学习地址
linux·运维·服务器·c语言·数据结构·c++·学习
沃斯堡&蓝鸟16 分钟前
DAY34 文件的规范拆分和写法
开发语言·python
ss27316 分钟前
final关键字如何创造线程安全的对象
开发语言·python
flysh0518 分钟前
深度解析 C# 核心:类(Class)的设计精髓与高级特性
开发语言·c#
Feibo201121 分钟前
R-3east
开发语言·r语言
_OP_CHEN24 分钟前
【从零开始的Qt开发指南】(十四)Qt 窗口之“三剑客”:工具栏、状态栏、浮动窗口进阶实战指南
开发语言·c++·qt·前端开发·gui开发·qt窗口
古城小栈25 分钟前
Rust 模块管理与文件联动
开发语言·后端·rust
Noushiki26 分钟前
RabbitMQ 基础 学习笔记1
笔记·学习·rabbitmq