کد محاسبه ب.م.م و ک.م.م دو عدد در سی پلاس پلاس c++

سلام،محاسبه ب.م.م و ک.م.م دو عدد یکی از مسائل مهم ریاضیست که همیشه با آنها برخورد داشتید.در این مطلب آموزشی قصد داریم که برنامه ای بنویسیم که ب.م.م و ک.م.م دو عدد را محاسبه کند.

محاسبه ب.م.م دو عدد

برای محاسبه ب.م.م دو عدد روش هایی زیادی وجود دارد که یکی از آن ها روش اقلیدسی است.در روش اقلیدسی در واقع دو عدد را بر یکدیگر تقسیم کرده و بعد از تقسیم باقی مانده را به عنوان عدد کوچک تر و مقسوم علیه را به عنوان عدد بزرگتر سپس دوباره عدد بزرگتر را به عدد کوچکتر تقسیم میکنیم. این روش را آنقدر ادامه میدهیم تا باقی مانده ۰ شود آنگاه عدد کوچک تر ب.م.م دو عدد مورد نظر است.

حالا بیایید این روش را در زبان C++ پیاده سازی کنیم.چون کد نویسی قسمت هایی مثل دریافت دو عدد از کاربر و نمایش متن به کاربر ساده است از توضیح آنها میپرهیزیم و فقط قسمت اصلی کد را شرح میدهیم.

فرض کنید از کاربر در کاربر دو عدد را دریافت کرده و آن ها را در متغیر هایی به نام های a و b ریخته ایم.از آنجایی که در روش اقلیدسی یک عملیات (تقسیم کردن) تکرار میشود در نتیجه باید از حلقه در برنامه ی خود استفاده کنیم.کد این قسمت به صورت زیر است:

در این کد ما از یک حلقه همیشه درست استفاده میکنید و در ابتدای حلقه چک میکنیم که اگر عدد کوچکتر ما برابر ۰ شد از حلقه خارج میشود همچنین از یک متغیر temp برای جابجایی مقادیر باقی مانده و a و b استفاده کردیم. درواقع درون این حلقه عدد بزرگتر جای خود را به عدد کوچکتر قبلی میدهد و سپس باقی مانده عدد بزرگتر بر عدد کوچک تر به عنوان عدد کوچکتر قرار میگیرد و زمانی که عدد کوچکتر برار ۰ شود عدد بزرگتر به عنوان ب.م.م در برنامه مورد استفاده قرار میگیرد.(با توجه به این نکته که ب.م.م هر عدد و ۰ خود همان عدد است)

نکته
اگر کار بر اول عدد کوچکتر را وارد کند و سپس عدد بزرگتر دور اول حلقه صرف جابجایی دو عدد میشود و سپس برنامه روند عادی خود را پیش میگیرد

کد کامل این برنامه به صورت زیر است

مشاهده کد ب. م. م شماره یک

روش دوم محاسبه ب.م.م دو عدد

در این روش ابتدا عدد بزرگتر را مشخص میکنیم و سپس حاصل تفرین آن بر عدد کوچتر را به جای عدد بزرگتر قرار میدهیم و سپس این عملیات را دوباره تکرار میکنیم این روند را آنقدر ادامه میدهیم تا دو عدد با یکدیگر برابر شوند آنگاه ب.م.م دو عدد مقدار اعداد است.کد کامل این روش به صورت زیر است:

مشاهده کد ب. م. م شماره دو

توجه داشته باشید که
روش بالا فقط برای دو عدد طبیعی (غیر صفر) جواب میدهد لذا اگر یکی از دو عدد برابر صفر باشد برنامه درون یک حلقه بی پایان گیر میکند.البته میشود با استفاده دستورات شرطی این مشکل را بر طرف کرد

و در پایان تصویری از اجرا و نتیجه ی این برنامه:

کد محاسبه ب.م.م و ک.م.م دو عدد در c++

 

محاسبه ک.م.م دو عدد

برای محاسبه ی ک.م.م دو عدد نیاز است که از ب.م.م آن ها استفاده کنیم. در واقع ک.م.م دو عدد برابر است با حاصل ضرب آن دو، بخش بر ب.م.م آن ها.پس کد های ما دقیقا مانند برنامه قبل است با این تفاوت که نیاز است مقداری اولیه ی دو عدد را برای محاسبه ب.م.م درون متغیر ها نگهداری کنیم.کد نهایی به صورت زیر است:

مشاهده کد ک. م. م شماره یک

روش دوم محاسبه ک.م.م (بدون استفاده از ب.م.م)

در این روش بدون استفاده از ب.م.م دو عدد مقدار ک.م.م ان دو را حساب میکنیم.میدانیم که حداقل مقدار ک.م.م دو عدد برابر عدد بزرگ تر است درنتیجه این مقدار را بر دو عدد تقسیم کرده تا زمانی اگه باقی مانده برابر ۰ شود(بخش پذیر باشد) در غیر این صورت این مقدار را یک واحد بالا برده و دوباره تقسیم را انجام میدهیم.این عمل را آنقدر تکرار میکنیم که باقی مانده عدد برر دو عدد مورد نظر برار صفر شود آنگاه آن عدد برابر ک.م.م دو عدد است.کد این روش به صورت زیر است:

مشاهده کد ک. م. م شماره دو

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

نتیجه اجرا کد به صورت زیر است :

کد محاسبه ب.م.م و ک.م.م دو عدد در c++

همچنین
سوالات و مشکلات خود را در مورد این آموزش از طریق نظرات با ما در میان بگذارید