当前位置:首页 » 编程语言 » c语言求最大公约数算法

c语言求最大公约数算法

发布时间: 2023-03-13 11:48:04

c语言求最大公约数和最小公倍数

c语言求最大公约数和最小公倍数求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数求最大公约数算法: (1)辗转相除法 有两整数a和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<b,则b=b-a

③ 若a=b,则a(或b)即为两数的最大公约数,结束

④ 若a≠b,则再回去执行①

(3)穷举法:

① i= a b中的小数

② 若a,b能同时被i整除,则i即为最大公约数,结束

③ i--,再回去执行②

相关代码:

#include<stdio.h>
intxc_gcd(inta,intb)
{
intc;
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
returnb;
}
intxj_gcd(inta,intb)
{
while(a!=b)
{
if(a>b)
a-=b;
else
b-=a;
}
returnb;
}
intqj_gcd(inta,intb)
{
inti;
i=(a>b)?a:b;
while(a%i!=0&&b%i!=0)
i--;
returni;
}
voidmain()
{
//inta=36,b=27;
//inta=27,b=36;
inta=100,b=201;
printf("a=%db=%d ",a,b);
printf("辗转相除法求最大公约数=%d ",xc_gcd(a,b));
printf("相减法求最大公约数=%d ",xc_gcd(a,b));
printf("穷举法求最大公约数=%d ",xc_gcd(a,b));
}

运行效果图:

㈢ 如何用C语言求两个数的最大公约数的三种算法

1、相减法

#include&lt;stdio.h&gt;

int main()

{

int a,b;

int c=0;//计数器

while(1)//循环判断的作用

{

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

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

while(a!=b)

{

if(a&gt;b)

a=a-b;

else

b=b-a;

c++;

}

printf("最大公约数是:%d ",a);

printf("%d ",c);

}

return 0;

}

运行效果:

2、辗转相除法:

#include&lt;stdio.h&gt;

int a,b,temp;

int Division(){

printf("请输入两个数(a,b): ");

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

if(a&lt;b){

temp=a;

a=b;

b=temp;

}

while(a%b!=0){

temp=a%b;

a=b;

b=temp;

}

printf("最大公约数为:%d ",b);

return 0;

}

3、穷举法

#include&lt;stdio.h&gt;

int main()

{

int a,b,c;

int d=0;//计数器

while(1)

{

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

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

c=(a&gt;b)?b:a;//三目运算符

while(a%c!=0||b%c!=0)

{

c--;

d++;

}

printf("最大公约数是:%d ",c);

printf("%d ",d);

}

return 0;

}

㈣ c语言如何求最大公约数和最小公倍数

#include <stdio.h>

int main()

{

int a,b,c,m,t;

printf("请输入两个数: ");

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

if(a<b)

{

t=a;

a=b;

b=t;

}

m=a*b;

c=a%b;

while(c!=0)

{

a=b;

b=c;

c=a%b;

}

printf("最大公约数是: %d ",b);

printf("最小公倍数是: %d ",m/b);

}

(4)c语言求最大公约数算法扩展阅读

算法思想

利用格式输入语句将输入的两个数分别赋给 a 和 b,然后判断 a 和 b 的关系,如果 a 小于 b,则利用中间变量 t 将其互换。

再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其输出。

#include<stdio.h>是在程序编译之前要处理的内容,称为编译预处理命令。编译预处理命令还有很多,它们都以“#”开头,并且不用分号结尾,所以是c语言的程序语句。

㈤ C语言程序设计如何求最大公约数

具体操作步骤如下:

一、新建一个C语言源程序,使用Visual C++6.0的软件。

㈥ c语言求两个数的最大公约数

思路:求两个数的最大公约数使用辗转相除法。
辗转相除法,
又名欧几里德算法(Euclidean
algorithm)乃求两个正整数之最大公因子的算法。原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。
参考代码:
#include <stdio.h>
int main()
{
int x,y,z;
scanf("%d%d",&x,&y);
while(x!=0)
{
z=x%y;
x=y;
y=z;
}
printf("%d\n",z);
return 0;
}
/*
运行结果:
6 27
3
*/

㈦ 用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 ",a);

return 0;

}

(7)c语言求最大公约数算法扩展阅读:

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

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

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

㈧ c语言辗转相除法求最大公约数和最小公倍数

c语言辗转相除法求最大公约数和最小公倍数的方法如下:

一、算法思想

利用格式输入语句将输入的两个数分别赋给a和b,然后判断a和b的关系,如果a小于b,则利用中间变量t将其互换。再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其输出。

3、辗转相除法: 是求最大公约数的一种方法。即用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

热点内容
动态规划01背包算法 发布:2024-11-05 22:17:40 浏览:849
nasm编译器如何安装 发布:2024-11-05 22:01:13 浏览:180
登录密码在微信的哪里 发布:2024-11-05 22:00:29 浏览:739
c防止反编译工具 发布:2024-11-05 21:56:14 浏览:247
安卓虚拟机怎么用 发布:2024-11-05 21:52:48 浏览:344
php时间搜索 发布:2024-11-05 20:58:36 浏览:478
燕山大学编译原理期末考试题 发布:2024-11-05 20:13:54 浏览:528
华为电脑出现临时服务器 发布:2024-11-05 20:05:08 浏览:408
斗战神免费挖矿脚本 发布:2024-11-05 19:53:25 浏览:665
网吧服务器分别是什么 发布:2024-11-05 19:45:32 浏览:392