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

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

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

【值得关注】我~

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

    推荐阅读
  • 下载读音(下载读音及解释)

    下面希望有你要的答案,我们一起来看看吧!下载读音下载,跟“上载”/“上传”相对,即把程序,资料等从一个计算机系统输入另一个计算机系统。

  • 郓城县光伏发电项目(大EPC均价3.73元瓦大基地项目3.2元)

    本次招标共划分为3个标段,其中1标段容量为500MW,2标段容量为300MW,3标段容量为200MW。今年年初,随着大全能源、亚洲硅业等纷纷发布扩产信息,以及信义光能、合盛硅业等企业宣布跨界多晶硅行业,业界普遍看好晶硅价格将回落至正常水平。显然,这样的价格成本无法保障EPC企业的合理利润。

  • 恋活sunshine人物卡赤松枫分享(恋活sunshine3人)

    恋活2赤松枫怎么捏?赤松枫是新弹丸论破V3中的女主,很多小伙伴可能还不清楚怎么捏吧,今天小编给大家带来恋活sunshine人物卡赤松枫分享,快来看一下吧。

  • 摩羯座吃定的三大星座(每日星座摩羯座)

    摩羯座吃定的三大星座?接下来我们就一起去研究一下吧!摩羯座吃定的三大星座今日概述:今天对于自己经手的事情,摩羯座表现出充足的认真和耐心,你希望可以很好的完成它们,甚至有些过于追求完美了,同事也有点受不了你这样锱铢必较的性子,但是最后的结局却是令摩羯座挺满意的。贵人星座:天蝎座、处女座幸运数字:9、6幸运颜色:银白色、天蓝色健康指数:60%财运指数:75%工作指数:75%爱情指数:60%综合指数:75%

  • 柚子囊怎么做好吃(柚子囊如何做好吃)

    以下内容希望对你有帮助!柚子囊怎么做好吃去皮,取囊。切块,放锅中热水烧开,煮到柚子囊透明,即可出锅。放清水浸泡,去苦味。热锅入油,蒜爆香,放入柚子囊爆炒,加老干妈,放少量的水,盐巴,鸡精,即可。

  • 含有近义词的词语(哪些成语中含有近义词)

    下面希望有你要的答案,我们一起来看看吧!含有近义词的词语吆五喝六、和颜悦色、察言观色、粉身碎骨、改天换地、千丝万缕、半斤八两、良师益友、人寿年丰、两小无猜、鸟语花香、单枪匹马、南征北战、颐指气使、轻描淡写。聚精会神、年轻力壮、门当户对、阴谋诡计、三教九流、真心实意、瓮牖绳枢、风起云涌、装神弄鬼、调兵遣将、高谈阔论、鸟尽弓藏、李代桃僵、金枝玉叶、日新月异。

  • 电话欠费停机不交有什么后果 联通电话欠费停机不交有什么后果

    手机欠费后不及时缴费,最直接的就是会停机,影响日常的正常使用。之后,还可能会导致号码注销,同时也会影响个人的信用,对以后再次办理移动的业务造成影响。

  • 平板电脑恢复出厂设置后无法连接(工业平板电脑通电不显示怎么办)

    正常引起该现象的故障原因:通常造成该故障的工业一体机主要可能性为各插件未插紧或主板某处短路或主要部件已损坏从而引起主板电回路短路。如在少设备情况下能够点亮,则需要逐一将各部件插上主板,以确认各设备是否损坏,如有设备插上时点不亮则可判定该设备损坏。

  • 九种苦瓜做法(各样的苦瓜做法)

    苦瓜镶肉:材料:苦瓜1条绞肉300克胡萝卜50克葱、姜1块香菜少许。调味料:酱油、淀粉各1大匙,盐、麻油各少许。原锅内加入适量高汤并用上述调料调味,投入鱼片、苦瓜、胡萝卜片,翻匀后用水生粉勾芡,淋入适量生油,装入烧热的煲内即可上桌。热油锅,将苦瓜、酱油、水加入锅中,以小火焖煮入味。锅内放花生油烧热,放入苦瓜,青椒煸炒,烹入料酒,放入精盐炒匀,用味精调味即可起锅装盘。

  • 王者荣耀如何一句话让别人禁言(王者荣耀干得漂亮终于解决)

    山河不足重,重在遇知已。好久不见,别来无恙。不过即使不开麦,还是会遇到比较烦的队友。在游戏中话比较多的队友一般有两种,指挥型队友和骂人型队友。这里告诉大家一个好消息,那就是王者荣耀新增了一键屏蔽所有类型消息的功能。如果在对局中不想再听到某一个人的消息,就可以开启这个功能,禁掉他包括语音、文字、信号等等在内的一切消息,眼不见为净。