c语言求最大公约数的方法有哪些?

如题所述

思路:

1、如果a > b a = a - b;

2、如果b > a b = b - a;

3、假如a = b,则 a或 b是最大公约数;

4、如果a != b;则继续从一开始执行;

5、也就是说循环的判断条件为a != b,直到a = b时,循环结束。

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()

{

    int a = 0;

    int b = 0;

    printf("输入两个数求最大公约数:");

    scanf("%d%d",&a,&b);

    while(a!=b)

    {

        if(a>b)

        a = a - b;

        if(a<b)

        b = b - a;

    }

    printf("%d\n",a);

    return 0;

}

扩展资料:

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

冯.诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯.诺依曼思想,这是计算机发展史上的里程碑。自1945 年至今大多采用其结构,因此冯.诺依曼被称为计算机之父。

他的体系结构计算机由运算器、控制器、存储器、输入设备、输出设备五大部件构成。 C语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位。

温馨提示:内容为网友见解,仅供参考
无其他回答

c语言求最大公约数的方法有哪些?
1、如果a > b a = a - b;2、如果b > a b = b - a;3、假如a = b,则 a或 b是最大公约数;4、如果a != b;则继续从一开始执行;5、也就是说循环的判断条件为a != b,直到a = b时,循环结束。代码如下:define _CRT_SECURE_NO_WARNINGS 1 include <stdio.h> int main(){ ...

求最大公约数c语言
c语言求最大公约数有辗转相除法、更相减损术、穷举法三种。辗转相除法。算法简介:将两个数a,b相除,如果余数c不等于0,就把b的值给a,c的值给b,直到c等于0,此时最大公约数就是b。更相减损术。算法简介:将两个数中较大的数a减去较小的数b,如果差c等于0,那么最大公约数为b,如果不等...

C语言程序设计如何求最大公约数
最大公约数算法:(1)辗转相除法 两整数a和b:① a%b得余数c ② 若c=0,则b即为两数的最大公约数,结束 ③ 若c≠0,则a=b,b=c,再回去执行① (2)相减法 两整数a和b:① 若a>b,则a=a-b ② 若a

c语言四种方法求最大公约数
可以采用质因数分解法,辗转相除法,辗转相减法,还可以采用穷举法。

c语言求最大公约数最小公倍数
c语言求最大公约数最小公倍数方法如下:1、利用定义法求最大公因数和最小公倍数。2、最小公倍数求法同上,最大公约数方法不同。3、利用辗转相除法求最大公约数和最小公倍数。

求最大公约数的简便方法
求最大公约数的简便方法如下:1、辗转相除法(欧几里德法)C语言中用于计算两个正整数a,b的最大公约数,采用函数嵌套调用形式进行求两个数的最大公约数。其算法过程为:前提:设两数为a,b设其中a做被除数,b做除数,temp为余数;Steps:大数放a中,小数放b中;求a\/b的余数;若temp=0则b为...

c语言最大公约数和最小公倍数
在C语言中,可以使用欧几里得算法(辗转相除法)来计算两个数的最大公约数(GCD),然后使用最大公约数和最小公倍数的关系来计算最小公倍数(LCM)。求最大公约数的方法:方法一:穷举法 先令最大公约数max为1,当俩个数X、都能被循环变量i整除时,把循环变量赋值给最大公约数mx,这样在循环结束...

c语言求两个数的最大公约数
方法一:include <stdio.h> int main(){ int m = 0;int n = 0;int tmp = 0;printf("请输入两个整数: ");scanf("%d %d", &m, &n);while (tmp = m % n){ m = n;n = tmp;} printf("最大公约数为:%d\\n", n);return 0;} 方法二:include<stdio.h> include<windows.h...

c语言最大公约数的求法
c语言最大公约数的求法如下:按照从大(两个整数中较小的数)到小(到最小的整数1)的顺序求出第一个能同时整除两个整数的自然数,即为所求。两个数的最大公约数有可能是其中的小数,所以在按从大到小顺序找寻最大公约数时,循环变量i的初值从小数n开始依次递减,去寻找第一个能同时整除两整数...

c语言求最大公约数
在C语言中,我们可以使用循环和取余操作来实现辗转相除法。假设我们有两个整数a和b,我们可以从b开始,不断地用a除以b并取余数,直到余数为零。此时的除数即为两数的最大公约数。如果初始时a和b的大小不确定,可以先比较两者的大小,确保每次除法的除数在减小,这样可以提高效率。具体实现时,我们可以...

相似回答
大家正在搜