肥宅钓鱼网
当前位置: 首页 钓鱼百科

C语言求最大公约数代码(C语言求最大公约数)

时间:2023-06-08 作者: 小编 阅读量: 2 栏目名: 钓鱼百科

问题描述求任意两个正整数的最大公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。要求任意两个正整数的最大公约数即求出一个不大于其中两者中的任何一个,但又能同时整除两个整数的最大自然数。两个数的最大公约数有可能是其中的小数,所以在按从大到小顺序找寻最大公约数时,循环变量i的初值从小数n开始依次递减,去寻找第一个能同时整除两整数的自然数,并将其输出。

问题描述

求任意两个正整数的最大公约数(GCD)。

问题分析

如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。

根据约数的定义可知,某个数的所有约数必不大于这个数本身,几个自然数的最大公约数必不大于其中任何一个数。要求任意两个正整数的最大公约数即求出一个不大于其中两者中的任何一个,但又能同时整除两个整数的最大自然数。

算法设计

思路有两种:

第一种:采用穷举法按从小到大(初值为1,最大值为两个整数当中较小的数)的顺序将所有满足条件的公约数列出,输出其中最大的一个;

第二种,按照从大(两个整数中较小的数)到小(到最小的整数1)的顺序求出第一个能同时整除两个整数的自然数,即为所求。

我们将对第二种思路进行详细说明。

两个数的最大公约数有可能是其中的小数,所以在按从大到小顺序找寻最大公约数时,循环变量i的初值从小数n开始依次递减,去寻找第一个能同时整除两整数的自然数,并将其输出。

需要注意的是,虽然判定条件是i>0,但在找到第一个满足条件的i值后,循环没必要继续下去;

如,25和15,最大公约数是5,对于后面的4、3、2、1没必要再去执行,但此时判定条件仍然成立,要结束循环只能借助break语句。

程序流程图:下面是完整的代码:

#include<stdio.h>int main(){int m, n, temp, i;printf("Input m & n:");scanf("%d%d", &m, &n);if(m<n) /*比较大小,使得m中存储大数,n中存储小数*/{ /*交换m和n的值*/temp=m;m=n;n=temp;}for(i=n; i>0; i--) /*按照从大到小的顺序寻找满足条件的自然数*/if(m%i==0 && n%i==0){/*输出满足条件的自然数并结束循环*/printf("The GCD of %d and %d is: %d\n", m, n, i);break;}return 0;}

运行结果:

Input m & n:100 125

The GCD of 125 and 100 is: 25

不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~

【值得关注】我~

全栈程序员正在等你加入~

    推荐阅读
  • 美国母女3人被强行侵犯(美国母女3人被强行侵犯)

    警方随即意识到,这是一起重大的恶性杀人案件。佛罗里达州坦帕湾警方展开调查后的首要任务,就是搞清楚这三名女性受害人的身份。警方极其理解哈尔的心情,然而在对这场案件进行调查时,他们却发现真相调查困难重重。然而在经过几个月的搜寻调查后,警方还是没有得到任何线索。在有了这一发现后,警方在坦帕市高速公路上竖起了5块广告牌。面对奥巴嚣张的气焰,警察当即带着此前受到过侵犯的朱迪来进行指认。

  • 减脂魔芋丝的做法(减脂神菜酸辣魔芋结)

    魔芋结可是堪称零卡食材,每100克热量仅11大卡,热量超级低,吃到撑都不会胖!用料:魔芋结1包大概240克、小米椒2个、辣椒面2勺、醋2勺、生抽2勺、蒜蓉适量、香菜1根、小葱1根、白芝麻适量。做法:1、准备好辣椒面,蒜蓉,白芝麻,葱花,把一勺热油泼上去,放2勺醋,2勺生抽,魔芋结开水焯一下。

  • 独孤天下安以轩结局(独孤天下隐藏主角是安以轩和徐正溪)

    甚至独孤曼陀和杨坚,这两条感情支线。徐正溪塑造的宇文护,亦正亦邪,其实单论外在,他根本不贴合反派气质,但眼神足够凌厉。安以轩饰演的独孤般若,大体和宇文护一致,眼神常阴毒,让人不寒而栗。

  • 柴犬和秋田犬的区别,外形、四肢、毛色等均匀不同

    秋田犬看起来很有力,一只秋田犬的标准体重为66公斤,头部为三角形,眼睛小而圆,两耳直立,与后颈部在一条直线上,这是秋田犬的特征之一,另一个特征是尾巴卷曲度大,与宽阔头部对称。秋田犬走路时强健有力,步伐适中,后脚保持水平,前肢和后肢保持在一个水平线上。

  • 武汉一本大学专业能选几个靠谱些(武汉这所高校很低调)

    文/小佳儿说武汉市境内共拥有84所高校,高校数量国内排名第二,也是国内的科教密集中心之一。华中农业大学是一所以“生命科学”为特色,多个学科共同发展的国家重点大学,目前是由教育部直属管理的高校,同样作为985、211大学。目前,华农拥有62个本业专业,其中有10个国家级特色专业,院校的实力也是相当强劲。但是按照往年的就业情况来说,华农的就业率是遥遥领先的。这些农业院校,对于学生的未来发展也是很有影响的。

  • 5分钟快速泡腐竹小窍门(怎么快速泡发腐竹)

    下面希望有你要的答案,我们一起来看看吧!5分钟快速泡腐竹小窍门先把腐竹掰成大概5到6厘米的长度。倒入适量的温水,稍微多倒些温水。加入一勺盐,盐可以促使腐竹快速吸水。把盘子倒扣在腐竹上,这样做的目的是让水的温度不至于很快降低,还可以把腐竹按压在水中,让腐竹四面都可以吸到水分。

  • dnf95装备词典(功能介绍)

    dnf95装备词典里面有所有装备的介绍和在哪里可以爆到,装备词典在设置里面可以找到,下面我们就来说一说关于dnf95装备词典?我们一起去了解并探讨一下这个问题吧!游戏中间下方有六个功能图标,点右边最后一个,最上面有一个装备词典,点击即可打开装备词典。最新更新已改名叫做百科词典。

  • word出现问题显示(无法关闭(别着急试试这个方法)

    跟着小编一起来看一看吧!word出现问题显示这是Word模板已损坏造成的。然后再次打开Word,Word会自动创建一个新默认的模板文件。Normal.dot文件位于C:\DocumentsandSettings\[Username]\ApplicationData\Microsoft\Templates这里的Username是指当前登录的用户名。重新启动Word即可。

  • 重庆两江开往春天的列车是几号线(开往春天的列车重庆2号线怎么走)

    重庆轨道交通6号线康庄轨道站段。打卡点及交通指南打卡地点:重庆市两江新区跳墩河公园百塘园具体地址:重庆市渝北区华山中路与恒山西路交叉口西南约100米交通指南:轨道交通:乘坐6号线至站,于2号口出站后,可自行导航”跳墩河公园“,步行800米后即可到达。公交:乘坐1606路环线至站下车后,步行70米左右即可到达;或者乘坐668路至站下车后,步行280米左右即可到达。自驾:导航搜索“跳墩河公园”。

  • 渝康码怎么代领?(渝康码怎么代领行程码)

    微信健康码代领:1、打开微信-健康码2、点击右上角-切换亮码人员3、点击-去帮亲友代领渝康码4、点击添加5、点击上报新成员6、填写亲友信息-提交,即可生成查看代领渝康码支付宝健康码代领:1、打开支付宝-健康码2、点击-亲友代领3、点击添加4、填写亲友基本信息-填写完毕后提交即可查看生成健康码