C语言用函数求公约公倍数 c语言求公倍数和公因数

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

#includelt;stdio.hgt;

创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目成都做网站、成都网站建设、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元蔚县做网站,已为上家服务,为蔚县各地企业和个人服务,联系电话:18982081108

int a;

int _Y(int x,int y);

int main()

{

int a,b,c,d;

printf(“请输入数字:”);

scanf("%d,%d",c,d);//此处注意在输出的时候数字之间要打都好,不然输出结果错误

b=_Y(c,d);

a=c*d/b;

printf(“最大公约数为:%d\n”,b);

printf(“最小公倍数为:%d\n”,a);

return 0;

}

int _Y(int x,int y)

{

int e;

if(xlt;y)

{

e=x;

x=y;

y=e;

}

while((e=x%y)!=0)

{

x=y;

y=e;

}

return(y);

}

扩展资料:

while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。简单来讲就是说while循环是先判断后循环, 判断如果满足条件进入循环 本次循环后再次判断 。

举个例子:

do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。 简单来讲就是说while循环是先循环后判断 。

举个例子:

总结:while循环是先判断后循环 ,而do–while循环是先循环后判断。

参考资料:

百度百科——while(循环语句及英文单词)

c语言求公约公倍数

#include  stdio.h

long long int gongyue(long long int m,long long int n){

long long int c;

if(m2 || n2) return  44;

if(mn){

c=m%n;

while(c0){

m=n;

n=c;

c=m % n;

}

}

else{

c=n % m;

while(c0){

n=m;

m=c;

c=n % m;

}

}

m=n;

return m;

}

long long int gongbei(long long int m,long long int n){

return m/gongyue(m,n)*n;

}

int main(){

long long int a,b,c,m,n;

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

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

m=gongyue(a,b);

n=gongbei(a,b);

printf("最大公约数%lld,最小公倍数%lld\n",m,n);

return 0;

}

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

c语言求最大公约数和最小公倍数,回答如下:

在做C语言相关练习的时候,会遇见比较经典的一道题型,就是求最大公约数或者最小公倍数。那么先普及一下什么是最大公约数和最大公倍数:

最大公约数:指能够整除多个整数的最大正整数。例如8和12的最大公约数为4。

最小公倍数:两个或多个整数最小的公共倍数。例如6和24的最小公倍数为24。

1.暴力求解

以求最大公约数为例,若求 a b 的最大公约数,所求的数最大不会超过两个数中较小的数。那可以从这个较小的数开始被a b同时试除,如果试除的余数为0,那么该数即为所求。如果不满足余数同时为零的条件,那么该数减一,接着试除,直到满足余数同时为零的条件为止。

2.辗转相除法

辗转相除法是用来求最大公约数的,同时最小公倍数满足这样一条数学性质:两数之积除以最大公约数即为最小公倍数.所以用辗转相除法是可以间接求最小公倍数的。

辗转相除法的大概思路:用两数相除,如果余数为零即为所求,如果余数不为零,上一轮相除所得的余数为除数,同时上一轮的除数现在成为被除数,直到余数为零不再相除,此时的除数即为所求。

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

#includestdio.h

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语言求公倍数和公因数
标题网址:http://pwwzsj.com/article/doeecds.html