کد برنامه نویسی محاسبه ب.م.م و ک.م.م
سلام و عرض ادب خدمت مهندسین و برنامه نویسان itpro.یک سوال داشتم خدمتتون؟؟چطور میشه ب.م.م دو عدد یا مثلا ک.م.م دو عدد رو بدست آورد؟؟؟ کد مورد نظر در بدست آوردن ب.م.م رو دارم ولی متوجه نمیشم که به چه صورت هست؟؟(ممنون میشم راهنمایی بفرمایید قسمت ب.م.م رو)و ک.م.م رو هم توضیح بدید.
class Program
{
static void Main(string[] args)
{
math1 m = new math1();
Console.WriteLine(m.bmm(15, 20));
Console.ReadKey();
}
}
class math1
{
public int bmm(int a, int b)
{
int r = 1;
while(b!=0)
{
r = a % b;
a = b;
b = r;
}
return a;
}
}
1 پاسخ
سلام روش بالا از روش نردبانی استفاده کرده است در این روش، ابتدا عدد بزرگتر را بر دیگری تقسیم میکنیم و سپس عدد کوچکتر را بر باقی ماندهٔ تقسیم مزبور تقسیم میکنیم و این عمل را تا جایی که باقی مانده صفر شود ادامه میدهیم، آخرین باقیمانده غیرصفر، بزرگترین مقسوم علیه مشترک دو عدد مزبور است. اگر شما خودتان بر روی کاغذ این عملیات را انجام دهید و مرحله به مرحله پیش بروید متوجه منظور برنامه خواهید شد مانند شکل زیر
برای به دست آوردن ک م م هم باید به این شکل عمل کنید
در شکل بالا هر دو عدد را بر کوچکترین عدد اولی که هر دو عدد به آن بخش پذیر باشند تقسیم می کنیم و اگر یکی از آنها بخش پذیر نبود خود آن عدد را پایین می آوریم . این کار را ادامه می دهیم تا به عدد 1 برسیم بعد از آن اعداد اولی را که به دست آمده است را در هم ضرب می کنیم.