输出没有结果,是错在哪里
/*
* 该函数用来计算两个数的最大公约数
*/
int greatest_common_divisor(int n,int m)
{
int gcd=-1;
// 请在下面添加代码
// ********** Begin **********
if( n == m)
return n;
if( n < m)
return greatest_common_divisor( m, n);
else {
if( !n&1 && !m&1 )
return greatest_common_divisor( n>>1, m>>1)*2;
else if( !n&1 && m&1 )
return greatest_common_divisor( n>>1, m);
else if( n&1 && !m&1 )
return greatest_common_divisor( n, m>>1);
else
return greatest_common_divisor( n, n-m);
}
// ********** End **********
return gcd;
}
/*
* 该函数用来计算两个数的最小公倍数
*/
int least_common_multiple(int n,int m)
{
int lcm=0;
// 请在下面添加代码
// ********** Begin **********
int greatest_common_divisor(int n,int m);
lcm = ( n * m )/(greatest_common_divisor( n, m));
// ********** End **********
return lcm;
}
