...相除法求两个整数M和N的最大公约数和最小公倍数,用While循环,循环变...

发布网友 发布时间:2024-10-23 21:31

我来回答

4个回答

热心网友 时间:2小时前

循环变量应该是r吧,
你这里都没有定义i怎么使用?可以自己定义吗?
int a=m;
int b=n;
while(m!=0)/*利用辗除法,直到m为0为止*/   
{   
r=n%m;   
n=m;   
m=temp;   
}   
s1 = n;
s2 = a*b/s1; //最小公倍数等于 两个数的乘积除以最大公约数。

热心网友 时间:2小时前

我是在VC环境中编译运行的,语句和C十分接近,以下的程序是可以运行的。在你上面代码的基础上来编写,只是填充的是中间的代码:
s1=m>n?n:m; //s1认为是其中最小的值
s2=m>n?m:n; //s2认为是其中最大的值
while(s2%s1)
{
r=s1;
s1=s2%s1;
s2=r;
} //这样的话计算出来的s1就是最大公约数
//下面就算最小公倍数
s2=m*n/s1; //这样就计算出来了

热心网友 时间:2小时前

viod multiple_and_divisor(int m,int n,int *multiple,int *divisor)
{
int remaider;
int div;
int temp;
if(m!=0 && n!=0)
{
remaider = m;
if(m>=n)
{div = m;remaider = n;}
else
{div = n;remaider = m;}

while(0!=remaider)
{
temp = remaider ;
remaider = div %remaider ;
div = temp ;
}
*divisor = div;//最大公约数
*multiple = m*n/div;//最小公倍数
}
else
{
*divisor = 0;//最大公约数
*multiple = 0;//最小公倍数
}
}

热心网友 时间:2小时前

,

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com