濠电姷鏁搁崑娑⑺囬銏犵鐎光偓閸曨偉鍩為梺璺ㄥ櫐閹凤拷闂傚倷娴囬惃顐﹀幢閳轰焦顔勭紓鍌氬€哥粙鍕箯閿燂拷闂傚倷绶氬ḿ鑽ゆ嫻閻旂厧绀夐幖娣妼閸氬綊骞栧ǎ顒€濡肩紒鐙€鍣i弻锟犲炊閳轰緡鐎抽梺璺ㄥ櫐閹凤拷华体会体育2串1 ,大学生新闻发布平台
华体会体育2串1
大学生新闻大学生活校园文学hthcom华体会
hth电竞官方下载 hth官方下载 hthvp华体会 hth358华体会 社会实践心得
全国排名校友会版hthcom华体会赌博 分类排名本科排名一本排名hth359华体会 hth365华体会 学校地址
求职简历职场法则面试技巧职场故事求职招聘大学生就业
英语学习计算机学习电气工程机械工程经济管理建筑设计财务会计
申请书证明书检讨书自荐信演讲稿心得体会调查报告读后感求职信推荐信其它范文

C语言求最大公约数

问题描述
求任意两个正整数的最大公约数(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;
}</n)></stdio.h>
运行结果:
Input m & n:100 125
The GCD of 125 and 100 is: 25
    作者:华体会体育2串1     来源:华体会体育2串1
    发布时间:2025-03-12    阅读:12
    扫一扫 分享悦读
  • C语言求最大公约数
  • 如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。
  • 03-12 关注:0
  • C语言求勾股数
  • 所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,c)。
  • 03-11 关注:3
  • C语言求回文数
  • 将数组中元素重新组合成一新数。拆分时变量a的最高位仍然存储在数组中下标最大的位置
  • 03-11 关注:3
  • C语言水仙花数
  • 输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13
  • 03-11 关注:3
  • C语言求自守数
  • 自守数是指一个数的平方的尾数等于该数自身的自然数。
  • 03-11 关注:2
  • C语言求亲密数
  • C语言求亲密数
  • 如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A
  • 03-11 关注:2
  • C语言求完数(完全数)
  • C语言求完数(完全数)
  • 如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1、2、3,而 6=1+2+3,因此6是“完数”。
  • 03-11 关注:3
Baidu
map