作业帮 > 综合 > 作业

C语言求最大公倍数.(辗转相除法的原理是什么,我看不懂度娘告诉我的那些= )

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/07 05:26:12
C语言求最大公倍数.(辗转相除法的原理是什么,我看不懂度娘告诉我的那些= )
int fun1(int n1,int n2)
{int gbs1;
gbs1=____;
return(gbs1);
}
int fun2(int u,int v)
{int t,r;
if(v>u)
{t=u;u=v;v=t;}
while(_____)
{u=v;v=r;}
return(______);
}
main()
{int num1,num2,gbs;
printf("input 2 numbers:");
scanf("%d%d",&num1,&num2);
gbs=fun1(num1,num2);
printf("gbs=%d\n",gbs);
}
最小公倍数= 我错了 =0=
C语言求最大公倍数.(辗转相除法的原理是什么,我看不懂度娘告诉我的那些= )
先求出两个数的最大公约数,这个比较好求,然后再由两数相乘再除以最大公约数就可以了...
解析:我们先将两个数进行分解质因数(这个还没有忘记吧?)比如两个数为12和8,则12=2*2*3,8=2*2*2,则两个数的公约数就是1,2,2,任意组合得到的积,两个数的最小公倍数当然是两数相乘,除以分解质因式中出现的相同的质数(有几个相同的算几个)之积,即最大公约数,故得证.