گروه مهندسی نرم افزار مازند پرداز

وبلاگ مازند پرداز به منظور آشنایی بیشتر کاربران با مهندسی نرم افزار و نیز انواع زبان های مختلف برنامه نویسی ایجاد شده است.

گروه مهندسی نرم افزار مازند پرداز

وبلاگ مازند پرداز به منظور آشنایی بیشتر کاربران با مهندسی نرم افزار و نیز انواع زبان های مختلف برنامه نویسی ایجاد شده است.

توابع محاسبه ب.م.م (GCD) و ک.م.م (LCM) دو عدد به زبان های مختلف

توابع محاسبه ب.م.م (GCD) و ک.م.م (LCM) دو عدد به زبان های مختلف : 

F#: 

let GCD(a : int, b : int) : int = 
    let mutable rv : int = 0
    let mutable ia : int = a
    let mutable ib : int = b
    while rv = 0 do
        if ia = 0 then
            rv <- ib
        else
            ib <- ib % ia
        if ib = 0 then
            rv <- ia
        else
            ia <- ia % ib
    rv 
    
let LCM(a : int, b : int) : int = 
    let mutable tmp : int = GCD(a, b)
    let mutable rv : int = 0
    if tmp <> 0 then
        rv <- a / tmp * b
    rv


C++, C#:
int GCD(int a, int b)
{
for (;;)
{
if (a == 0) return b;
b %= a;
if (b == 0) return a;
a %= b;
}
}

int LCM(int a, int b)
{
int tmp = GCD(a, b);
return tmp ? (a / tmp*b) : 0;
}
VB.NET:
   Function GCD(ByVal a As Integer, ByVal b As Integer)
        While True
            If a = 0 Then Return b
            b = b Mod a
            If b = 0 Then Return a
            a = a Mod b
        End While
    End Function

    Function LCM(ByVal a As Integer, ByVal b As Integer)
        Dim tmp As Integer = GCD(a, b)
        If tmp <> 0 Then
            Return a / tmp * b
        Else
            Return 0
        End If
    End Function

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.