C语言用for循环求最大公约数,C语言循环结构 -C语言求最大公约数

article/2025/10/13 10:27:17

这是一个C语言 while 循环示例:求正整数 m 和 n 的最大公约数。

问题分析

输入:两个正整数。

输出:一个正整数(最大公约数)。

最大公约数(gcd)是指几个数共有的因数之中最大的一个数,比如 8 和 12 的最大公约数是 4,一般记作 gcd(8,12)=4。

求两个正整数的最大公约数可以使用辗转相除法。辗转相除法是公元前 300 年左右的希腊数学家欧几里得在他的著作《几何原本》中提出的,利用这个方法可以较快地求出两个自然数的最大公约数。

辗转相除法求两个正整数的最大公约数的具体步骤:用较大的数除以较小的数,如果余数不为 0,则将余数和较小的数(除数)构成一对新数,继续用其中较大的数除以较小的数,这样反复进行上面的除法,直到大数被小数除尽(余数为 0),这时较小的数就是原来两个数的最大公约数(见图 1)。

052ef89f4b95c671cab4de13f7da2e6b.gif

图 1:辗转相除法求两个正整数的最大公约数

算法描述

cf5c6d9f71d9b99bc718cb10a4796704.gif

代码清单 2:求正整数 m 和 n 的最大公约数

#include

#include

int main( )

{

int m,n,r;

printf("输入两个正整数(空格分隔):\n");

scanf("%d %d",&m,&n);

r = m % n; //r取m除以n的余数

while(r != 0) //辗转相除

{

m = n; //小数给m

n = r; //余数给n

r = m % n; //r再次取m除以n的余数

}

printf("最大公约数是%d\n",n);

system("pause");

return 0;

}

运行结果:

输入两个正整数(空格分隔):

56 72

最大公约数是8

知识点总结

辗转相除法求最大公约数:始终用较大的数除以较小的数,直至除尽。


http://chatgpt.dhexx.cn/article/HhanUZka.shtml

相关文章

求最大公约数的4种方法C语言(辗转相除法、辗转相减法、穷举法、递归法)

最大公约数,也称最大公因数、最大公因子,指两个或多个整数共有约数中最大的一个。 目录 问题描述 辗转相除法(欧几里得算法) 代码实现 辗转相减法 代码实现 暴力穷举法 代码实现 递归法 代码实现 测试及结果 问题描述…

自由度为什么是n-1?敲黑板敲黑板啦

在抽样分布定理中相信很多小伙伴都很疑惑,这个为什么第三个服从的是自由度为n-1的卡方?话不多说,我们一起来看看吧 同理,这个默认的条件限制,也是当初为什么要进行修正样本方差。如果各位小伙伴还有疑问,可…

什么是GUN?

1 什么是GUN? 既然是说linux,那就不得不提下GNU,就是因为GNU才使得包括linux在内的很多开源软加蓬勃发展起来。 GNU技术是在1983年9月27号公开发起的,创始人是Richard Stallman,目的是创建一套完全自由的操作系统。 由于当时Uni…

工业机器人的自由度是什么?

机器人家上了解到,随着机器人产业的飞速发展,工业机器人已经广泛应用于各行各业,从材料搬运到机器维护,从焊接到切割,从装配到喷涂,我们发现,这些工业机器人形状各异,功能性能各不相…

总时差与自由时差

定义 总时差(总浮动时间)(TF,Total Free Time,不耽误项目总进度)LS(Latest Start)-ES(Earliest Start)LF(Latest Finish)-EF&#xff…

【概率论与数理统计】如何理解自由度n?

统计学上常常说的自由度是到底是什么? 在样本方差计算中,分母不是样本数量,而是样本量减一,人们一般认为减一是因为缺少一个自由度的原因,那么这个自由度的概念到底是什么? 解答 自由度不容易解释&#x…

自由变量

1,作用域和自由变量 作用域代表了一个变量的合法范围,一个变量的作用域是程序源代码中定义的这个变量的区域。 1,全局作用域 不在任何函数内声明的变量(函数内省略var的也算全局)称作全局变量 就是在最外层定义的变量…

谓词逻辑——自由变元与约束变元

谓词逻辑 命题逻辑在是具有局限性的。 命题逻辑在处理语句成分中有诸如“否”、“并”、“或”和“如果那么”时, 取得了令人满意的结果, 但人类语言比这丰富得多, 我们如何处理如“存在”, “所有”,“在中”&#x…

JS - 自由变量与作用域链

先解释一下什么是“自由变量”。 在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图 如上程序中,在调用fn()函数时,函数体中第…

2. 自由度

目录 1. 自由度的定义 2. 自由度的计算 2.1 刚体的自由度 2.2 运动副 2.3 自由度算例 2.4 自由度计算公式 3. 总结 1. 自由度的定义 自由度在很多领域中会出现,对于机器人而言,我们这里谈的也就是机构的自由度。任何一台机器人都可以认为是一个机…

自由度

刚体的自由度 自由度指物体能够对坐标系进行独立运动的数目,物体所能进行的运动如下图: 一个物体可以相对于坐标系,进行三个平移和三个旋转运动,即一个简单的物体有六个自由度。 2 运动副与关节 运动副是两构件直接接触并能产…

约束度与自由度

约束度与自由度 无论是在机械原理与机械设计课程,还是在理论力学课程中,我们都会遇到约束度与自由度,但我未曾想在宇哥的线性代数课上也能听到这两个熟悉的名词。在线性代数第四讲线性方程组课程中,宇哥在讲到齐次线性方程组的有解…

这是你希望的自由职业么

每到周末文章的打开率和阅读量就变得惨淡的不行,索性就不分享干货,闲聊一下九月份私活结束后的自由职业经历。看看这是否是你向往的自由职业生活状态么? 九月份,忙完了手头的项目,也没心思找工作,一心想着借…

计算机屏幕截图按什么键,电脑按什么键自由截图

在我们工作生活中经常需要用到电脑截图来截取保存些重要信息,不过对于电脑新手来说还是不太清楚电脑怎么截图,问小编电脑按什么键自由截图。那今天小编就给大家介绍一个电脑截图的快捷方式,希望能帮到大家。 台式电脑使用快捷键进行截图&…

什么是机器人的自由度

自由度是机器人的一个重要技术指标,它是由机器人的结构决定的,并直接影响到机器人的机动性。 1. 刚体的自由度 物体上任何一点都与坐标轴的正交集合有关。物体能够对坐标系进行独立运动的数目称为自由度(DOF,degree of freedom)。…

讲讲什么是自由度

总第223篇/张俊红 我们在前面的方差分析中有提过一个概念就是自由度,在前面文章中给了一个计算就是自由度样本数-1。这一篇就来具体聊聊什么是自由度。 先来看看百度百科的解释: 自由度(degree of freedom, df)指的是计算某一统计量时,取值不…

什么是自由软件?

关注星标公众号,不错过精彩内容 来源 | www.gnu.org 编排 | strongerHuang 可能你认为免费软件,就是自由软件,那么你肯定错了,下面来听听专家怎么描述自由软件的。 strongerHuang 1 自由软件定义 开源(Open source&…

解构“自由”

“知乎”上有一个高票答案,研究了“什么样的人最自由”这个问题,作者“清流”说1: 我以前跟我的第一任老板讨论过一个问题:人类想要自由还是不想?结论是,绝大多数人本质上是不想要自由的,他们想…

Kettle工具入门

Kettle工具入门 Kettle工具入门 Kettle是什么?为什么要用Kettle?怎么用Kettle? 下载运行简单应用 表到表转换json到表的操作参考 Kettle是什么? Kettle是水壶。 “多喝热水”是我们对女朋友美好的祝福。因为未经处理的生水&#…

kettle安装及使用

文章目录 1、kettle简述1.1、kettle是什么 2、kettle安装配置2.1、先决条件2.1.1、安装jdk8 2.2、kettle下载2.3、打开kettle 3、kettle基本概念3.1、转换和作业3.2、运行工具3.2.1、SPOON3.2.2、KITCHEN和PAN3.2.3、Carte kettle基本使用及常见问题 1、kettle简述 1.1、kettl…