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(______);}
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/01 11:01:59
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,任意组合得到的积,两个数的最小公倍数当然是两数相乘,除以分解质因式中出现的相同的质数(有几个相同的算几个)之积,即最大公约数,故得证.