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(______);}
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 05:03:48
![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(______);}](/uploads/image/z/9460332-36-2.jpg?t=C%E8%AF%AD%E8%A8%80%E6%B1%82%E6%9C%80%E5%A4%A7%E5%85%AC%E5%80%8D%E6%95%B0.%EF%BC%88%E8%BE%97%E8%BD%AC%E7%9B%B8%E9%99%A4%E6%B3%95%E7%9A%84%E5%8E%9F%E7%90%86%E6%98%AF%E4%BB%80%E4%B9%88%2C%E6%88%91%E7%9C%8B%E4%B8%8D%E6%87%82%E5%BA%A6%E5%A8%98%E5%91%8A%E8%AF%89%E6%88%91%E7%9A%84%E9%82%A3%E4%BA%9B%3D+%EF%BC%89int+fun1%28int+n1%2Cint+n2%29%7Bint+gbs1%3Bgbs1%3D____%3Breturn%28gbs1%29%3B%7Dint+fun2%28int+u%2Cint+v%29%7Bint+t%2Cr%3Bif%28v%3Eu%29%7Bt%3Du%3Bu%3Dv%3Bv%3Dt%3B%7Dwhile%28_____%29%7Bu%3Dv%3Bv%3Dr%3B%7Dreturn%28______%29%3B%7D)
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(______);}
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语言求最大公倍数.(辗转相除法的原理是什么,我看不懂度娘告诉我的那些= )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(______);}
先求出两个数的最大公约数,这个比较好求,然后再由两数相乘再除以最大公约数就可以了...
解析:我们先将两个数进行分解质因数(这个还没有忘记吧?)比如两个数为12和8,则12=2*2*3,8=2*2*2,则两个数的公约数就是1,2,2,任意组合得到的积,两个数的最小公倍数当然是两数相乘,除以分解质因式中出现的相同的质数(有几个相同的算几个)之积,即最大公约数,故得证.