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

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

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

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

پیاده سازی ک م م در c++

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

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

#include <iostream>
#include <stdio.h>
using namespace std;
int LCM(int a , int b);
int main() {
    int a = 0;
    int b = 10;

    int lcm = LCM(a,b);
    printf("%d",lcm);
    return 0;
}

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

کد ک م م در c++ را میتوان چند قسمت کرد:

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

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

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

Download “دانلود سورس پروژه ک م م در c++” LCM-www.codegate.ir_-1.rar – 124 بار دانلود شده است – 54 کیلوبایت

پسورد: www.codegate.ir