java, آموزش قدم به قدم جاوا, جاوا

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

ک م م در جاوا

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

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

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

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

پیاده سازی ک م م در جاوا

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

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

Public class LCM {

     /**
      * @param args
      */
     public static void main(String[] args) {
          int a = 0;
          int b = 17;

          int lcm = LCM(a, b);
          System.out.println(lcm);
     }

     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;

                        oolean 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;

                        oolean 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 وقتی که ما ک م م را پیدا کردیم.

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

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

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