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

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

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

问题描述求任意两个正整数的最大公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。要求任意两个正整数的最大公约数即求出一个不大于其中两者中的任何一个,但又能同时整除两个整数的最大自然数。两个数的最大公约数有可能是其中的小数,所以在按从大到小顺序找寻最大公约数时,循环变量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

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

【值得关注】我~

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

    推荐阅读
  • 啧怎么读(啧这个字怎么读?)

    以下内容希望对你有帮助!啧怎么读啧读音:zé。

  • 怎么挑选熟的猪肝 新鲜猪肝怎么挑

    而好的麻肝在煮熟之后的口感相对就比较韧,因此它相对粉肝、面肝而言也比较耐嚼。不过需要注意的是,猪肝的胆固醇含量是比较高的,因此它对于高血压患者和冠心病患者来说,最好是不要过多服用的。

  • 没法没天是什么意思(没法没天具体是什么意思)

    以下内容希望对你有帮助!没法没天是什么意思没法没天,汉语成语,拼音是méifǎméitiān,意思是违法乱纪,不受管束;旧指不顾国法和天理,任意干坏事。出自清·曹雪芹《红楼梦》第一百十回:“你是那里的这么个横强盗,这样没法没天的!我偏要打这里走。”

  • 移动手机无信号怎么解决(移动手机无信号的三种解决途径)

    移动手机无信号怎么解决?接下来我们就一起去了解一下吧!移动手机无信号怎么解决先查看下周围朋友用移动手机是否有信号,如果其他人手机也无信号那就有可能是当地网络基站问题,建议联系当地营业厅处理。如果插其他卡都是有信号的只是插自己的卡不行,那就可能是自己卡的问题,建议带着手机卡去当地移动营业厅检测。

  • 家常手撕包菜做法(如何做手撕包菜?)

    下面更多详细答案一起来看看吧!家常手撕包菜做法取适量的包菜,将其撕成小块,五花肉切薄片备用。锅中倒油,将干辣椒和花椒倒入煸炒出香味,倒入五花肉。倒入10g生抽翻炒均匀给肉上色,倒入姜丝和蒜片,翻炒均匀,倒入包菜。加入三勺约45g蒸鱼豉油,翻炒至菜叶变软,装盘即可。

  • 水煎饼的做法和配方(制作方式怎样)

    跟着小编一起来看一看吧!水煎饼的做法和配方面:水比例为1:2较为合适,在调面糊时,一定要调到稀溜溜的,摊饼时比较容易摊开。制作方式,配料:玉米面粉、面粉、水、鸡蛋、油条、榨菜、葱花、萝卜丝、油。辣椒酱、蚝油、味极鲜、豆瓣酱、平底锅。

  • 2020江苏省名师空中课堂高三直播课表(2021江苏省名师空中课堂)

    江苏省教育厅权威发布名师空中课堂特别版块《抗疫助学》,保障全省中小学生,延迟开学不停课。省教研室组织、省内特级教师正高级(教授级)老师、市级以上学科带头人讲授复习课,高考重难点解析,“学习任务”“知识框架”“典型案例”“配套练习”,2020年2月10日起在线现场直播。

  • 其他食品用类似原料(家中或饭店的不同食品原料)

    家中或饭店的不同食品原料来源:今日头条•食品行业眼/作者:懂食轩为了延缓食品腐烂变质的速度,家庭或饭店都会将蔬菜、水果、肉类等食品原料放在冰箱或冷库里面冷藏不过,有的食品原料却不宜用冷藏方法保存;否则,反而会影响食品口味和营。

  • 4399弹弹堂救援行动攻略(4399弹弹世界智斗PK揭秘开炮技巧)

    弹弹堂竞技版新作重磅来袭,4399《弹弹世界》全球炮手开启智斗PK!经典抛物线打击完美还原,技术流大神的开炮技巧全面曝光!4399《弹弹世界》官方网站:http://web.4399.com/ddsj/打出了完美的开炮表现,但炮弹却总落在对手身旁,这是人品不好?虽然极易受到地形限制,但超高命中率就是伤害保障,搭配伤害加成道具和怒气使用,相当于核爆打击,一发致命!4399《弹弹世界》内测火爆开启中,快加入多人对战的智斗PK,享受智商与技术双碾压的满满成就感!

  • 减肥你要知道的事(减肥你吃对了吗)

    盐分超标的人身体容易下肢水肿。还有一个原因就是,盐和水一作用,容易产生热量,热量消耗不掉就会成为脂肪存储在人体内,而且这种脂肪很难被转化。人体需要营养,疫情当道,我们更需要免疫力。不要盲目的去节食,更不建议盲目的吃乱七八糟的减肥产品。大家不要被瘦几斤的表面现象蒙蔽了,调理体质,才能健康享瘦!