函数最大公约数C语言 c语言求最大公约数

C语言中 用函数调用求最大公约数和最小公倍数

#include枝如stdio.h

富宁网站建设公司创新互联,富宁网站设计制作,有大型网站制作公司丰富经验。已为富宁近1000家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的富宁做网站的公司定做!

int gcd(int m, int n);

int lcd(int m, int n);

int main()

{

int a, b;

printf("猛羡启输入派闭两个正整数:");

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

printf("%d 和 %d 最大公约数为%d\n", a, b, gcd(a, b));

printf("最小公倍数为:%d\n", lcd(a, b));

}

int gcd(int m, int n)

{

int t;

if (mn)

{

t = m;

m = n;

n = t;

}

while (n != 0)

{

t = m%n;

m = n;

n = t;

}

return m;

}

int lcd(int m, int n)

{

int t;

t = m*n / gcd(m, n);

return t;

}

求最大公约数c语言

c语言求最大公约数有辗转相除法、更相减损术、穷举法三种。

辗转相除法。算法简介:将两个数a,b相除,如果余数c不等于0,就把b的值给a,c的值给b,直到c等于0,此时最大公约数就是b。

更相减损术。算法简介:将两个数中较大的数a减去较小的数b,如果差c等于0,那么最大公约数为b,如果不等于0,则将b的值给a,c的值给b,继续相减直到差等于0。

穷举法。算法简介:将两个数a,b中较小的值赋给i,将a除以i,b也除以i,若两者的余数同时为0时,此时的i就是两者的最大袜森公约数。若不等于0,则将i-1,继续将a除以i,b除以i,直至余数同时为0。

最大公约数:

最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。

早在公元前300年左右,欧几里得就在他的著作《几何原本》中给出了高缓好卜效的解法——辗转相除法。辗转相除法使用到的原理很聪明也很简单,假设用f(x,y)表示x,y的最大公约数,取k=x/y,b =x%y,则x=ky+ b,如果一个数能够同扰穗时整除x和y,则必能同时整除b和y。

而能够同时整除b和y的数也必能同时整除x和y,即x和y的公约数与b和y的公约数是相同的,其最大公约数也是相同的,则有f(x,y)=f(y,x%y)(y0),如此便可把原问题转化为求两个更小数的最大公约数,直到其中一个数为0,剩下的另外一个数就是两者最大的公约数。

C语言中求最大公约数的函数

#include

"stdio.h"

int

main()

{

int

d1,d2,r;

printf("输入两个正整数:");

scanf("%d

%d",d1,d2);

do

{

r=d1%d2;

d1=d2;d2=r;

}while(d2!=0);

printf("最大公约数喊好悄是:%d",d1);

}

//递郑渣归法

#include

"stdio.h"

int

fun(int

d1,int

d2)

{

if(d2!=0)

return

fun(d2,d1%d2);

else

return

d1;

}

int

main()

{

int

d1,d2;

printf("输入两个正整数袜前:");

scanf("%d

%d",d1,d2);

printf("最大公约数是:%d",fun(d1,d2));

}


当前题目:函数最大公约数C语言 c语言求最大公约数
当前链接:http://hbruida.cn/article/ddpicse.html