辗转法求最大公约数和最小公倍数

/// <summary>
        
/// 求最大公约数
         
/// 辗转相除法
          
/// </summary>
        
/// <param name="num1"></param>
        
/// <param name="num2"></param>
        
/// <returns></returns>

        public static int getGreatestCommonMeasure(int num1, int num2)
        
{
            
if (num1 == 0return Math.Abs(num2);
            
if (num2 == 0return Math.Abs(num1);
            
int num3 = 0;
            
//insure: num1 >= num2
            if (num1 < num2)
            
{
                num3 
= num1;
                num1 
= num2;
                num2 
= num3;
            }

            num3 
= num1 % num2;
            
while (num3 != 0)
            
{
                num1 
= num2;
                num2 
= num3;
                num3 
= num1 % num2;
            }

            
return Math.Abs(num2);
        }


        
/// <summary>
        
/// 求最小公倍数
        
/// </summary>
        
/// <param name="num1"></param>
        
/// <param name="num2"></param>
        
/// <returns></returns>

        public static int getLeastCommonMultiple(int num1, int num2)
        
{
            
int GCM = getGreatestCommonMeasure(num1,num2);
            
if (GCM == 0return 0;
            
return num1 * num2 / GCM;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值