成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

c语言怎么求最小公倍数

Q1:为什么C语言中,lcd表示最小公倍数?

LCD (least common denominator)

所以这个跟c语言没有直接关系...应该是属于约定俗成的写法...不是c语言的库函数或者关键字...只是一种写法而已……可以用其他的名字

wwW.BaZhish※i.COm

Q2:C语言题目——最小公倍数和最大公约数

#include void main()
{
int x,y,tempGY,tempGB,GY,GB;printf("输入两个正整数(用空格分开),求这两个正整数的最小公倍数和最大公约数:\n");
scanf("%d%d",&x,&y);
for(int i=1;i<=(x{
if(x%i==0 && y%i==0)
GY=i;
}
tempGB=x*y;
for(i=tempGB;i>=(x{
if(i%x==0 && i%y==0)
GB=i;
}
printf("最大公约数是%d,最小公倍数是%d\n",GY,GB);
getchar();
}

WW。W.bAzhIshi.com

Q3:c语言,,求最小公倍数。怎么求?

#include "stdio.h"
int max_common_divisor(int x,int y)
{ int i,Max;
for(i=(x>y?x:y);;i--)
if(x%i==0&&y%i==0)
{Max=i;break;}return Max;
}
int min_common_multiple(int x,int y)
{ int i,Min=x>y?x:y;
for(i=Min;;i++)
if(i%x==0&&i%y==0)
{ Min=i;
break;
}return Min;
}void main()
{ int a,b,Max,Min;
scanf("%d%d",&a,&b);
Max=max_common_divisor(a,b);
Min=min_common_multiple(a,b);
printf("%d %d",Max,Min);
}

Q4:如何用C语言求最小公倍数。。。

方法1:最小公倍数=两个数相乘/最大公约数
最大公约数用辗转相除法
#include
int gcd(int a,int b) //递归法求最大公约数~
{
if(b==0)
return a;
return gcd(b,a%b);
}
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a*b/gcd(a,b));
}
方法2:直接遍历求得~
#include
int main()
{
int a,b;
int i;
scanf("%d%d",&a,&b);
for(i=a;;i++)
if(i%a==0 && i%b==0)
break;
printf("%d\n",i);
}

Q5:如何用C语言求最大公约数和最小公倍数?

//求两个数的最大公约数和最小公倍数

void fun(int a,int b)

{

int temp,r;

int v;

if(a

{temp=a; a=b; b=temp;}//将大数放在a中,小数放在b

v=a*b;

r=a%b;

while(r!=0)

{

a=b;

b=r;

r=a%b;

}

v/=b;

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

printf("最小公倍数为%d\n",v);

}

这是求最小公倍数和最大公约数的函数,希望对你有所帮助。

Www.BAZH+ishi.coM

Q6:C语言求最小公倍数怎么求?

举个例吧,如4和6两个数,求它们的最大公约数和最小公倍数。利用短除法:2∟ 46得23,那么最大公约数就是2,最小公倍数就是2×2×3=12。关键要弄清最大公约数和最小公倍数的概念。公约数,就是能是所给出的数共同小化,就像是将分数简化一样。那么使得他们简化的数的乘积就是最大公倍数;若在乘上最终简化的结果数就是最小公倍数。如4和6可写成4/6,同时约去的只有2,那么2是最大公约数;约去后变为2/3,2×2×3=12,为最小公倍数。

Q7:用C语言编写求两个函数的最大公约数与最小公倍数

1234567891011121314151617181920212223242526272829303132333435363738#include#includeintfun_y(int,int);intfun_b(int,int);main(){inta,b,gy,gb;printf("输入两个整数:\n");scanf("%d%d",&a,&b);gy=fun_y(a,b);gb=fun_b(a,b);printf("最大公约数是:%d\n最小公倍数是:%d\n",gy,gb);}intfun_y(intx,inty){intz,i;if(x>y)z=sqrt(y);elsez=sqrt(x);for(i=z;i>=1;i--){if(x%i==0&&y%i==0)break;}returni;}intfun_b(intx,inty){intz,i;z=x*y;for(i=x;i<=z;i++){if(i%x==0&&i%y==0)break;}returni;}

以下是运行结果:

猜你喜欢

更多