#c, آموزش قدم به قدم #c, سی شارپ

ک م م در سی شارپ (کوچکترین مضرب مشترک)

ک م م در سی شارپ

در این جلسه تیم کدگیت را با آموزش ک م م در سی شارپ همراهی کنید. پیش نیاز این آموزش آشنایی با متد و دستورات شرطی(if) در سی شارپ است.

کوچکترین مضرب مشترک(ک م م)

کوچکترین مضرب مشترک یکی از مسایل در رشته ریاضی است. برای محاسبه ک م م بین دو عدد کافی است عددی پیدا کنیم که بر هر دو عدد بخش پذیر باشد و کوچکترین مضربی باشد که چنین ویژگی را دارد. برای مثال ک م م دو عدد 2 و 3 عدد 6 است.ک م م سه ویژگی زیر را دارد:

  1. ک م م هر عددی با عدد 0 میشود 0 .
  2. ک م م هر عدد با 1 میشود خود عدد.
  3. ک م م دو عدد یکسان برابر با خودش است.

پیاده سازی ک م م در سی شارپ

برای پیاده سازی ک م م در سی شارپ از فرمول های ریاضی استفاده میکنند. ولی ما در اینجا با استفاده از دستورات شرطی به حل مسئله ک م م در سی شارپ میپردازیم.

در ابتدای کار ما نیاز به دو عدد داریم که ک م م آنها را پیدا کنیم. ما این دو عدد را a و  b مینامیم. سپس متدی به نام lcm مینویسیم که a و b را میگیرد و خروجی آن ک م م a و  b است.روش پیاده سازی ک م م به این صورت است که ما عدد بزرگتر را در نظر میگیریم و مضرب های آن را محاسبه میکنیم(یعنی مثلا a*1 , a*2 …) سپس مضرب های حاصل را بر عدد کوچکتر تقسیم میکنیم اگر باقیمانده صفر باشد ک م م را پیدا کرده ایم.

namespace LCM
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            int a = 2;
            int b = 17;

            int lcm = LCM(a, b);
            Console.WriteLine(lcm);
            Console.ReadKey ();

        }

        public static int LCM(int a, int b) {
            int lcm = 0;

            if (a == 0 || b == 0) {
                lcm = 0;
            } else {
                if (a == b) {
                    lcm = a;
                } else if (a < b) {
                    if (b % a == 0) {
                        lcm = b;
                    } else {
                        int factor = 2;

                        bool foundlcm = false;
                        while (!foundlcm) {
                            int multiple = factor*b;
                            if (multiple%a==0) {
                                lcm = multiple;
                                foundlcm = true;

                            }
                            factor++;
                        }
                    }

                } else if (a > b) {
                    if (a % b == 0) {
                        lcm = a;
                    }else{
                        int factor = 2;

                        bool foundlcm = false;
                        while (!foundlcm) {
                            int multiple = factor*a;
                            if (multiple%b==0) {
                                lcm = multiple;
                                foundlcm = true;
                            }
                            factor++;
                        }
                    }
                }

            }
            return lcm;
        }

    }


}

کد ک م م در سی شارپ را میتوان چند قسمت کرد.

  1. اگر یکی از اعداد a و  b صفر باشند
  2. اگر اعداد a و b با هم برابر باشند.
  3. اگر اعداد a و b مضرب هم باشند(بر هم بخشپذیز باشند مثل 2 و 4).
  4. اگر جز حالات 1 تا 3 نباشند.

ما در کد بالا ابتدا چک کردیم که اعداد ورودی برایر 0 هستند یا خیر. اگر نبودند برابری آن دو عدد را نیز بررسی کردیم و باز هم اگر برابر نبودند عدد بزرگتر را پیدا میکنیم و به دنبال مضربی از این عدد میگردیم که بر عدد کوچکتر نیز بخشپذیر باشد. سپس خروجی را برمیگردانیم.

دو متغیر factor به عنوان عددی متغیر برای محاسبه مضرب عدد بزرگتر و foundlcm نیز متغیری است برای خروج از while وقتی که ما ک م م را پیدا کردیم.

نوشته های مشابه

1 دیدگاه در “ک م م در سی شارپ (کوچکترین مضرب مشترک)

  1. علی مسجدی گفت:

    سلام، من کد زیر را برای محاسبه ک.م.م پیشنهاد میکنم:

    public static int LCM(int a, int b)
    {
    if (a == 0 || b == 0)
    return 0;
    int i = a;
    for (; (i % b) != 0; i += a) ;
    return i;
    }

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *