در این جلسه تیم کدگیت به آموزش ب م م در جاوا (بزرگترین مقسوم علیه مشترک) میپردازیم. پیش نیاز این آموزش ، آشنایی با متد و دستور شرطی if است.
ب م م
بزرگترین مقسوم علیه مشترک یا ب م م بین دو عدد را عددی میگویند که بین مقسوم علیه های مشترک دو عدد، بزرگترین باشد. برای مثال ب م م دو عدد 4 و 8 میشود 4. ویژگی های بارز ب م م شامل موارد زیر هست:
- ب م م دو عدد یکسان میشود خود عدد
- ب م م هر عدد با صفر میشود صفر
- ب م م هر عدد با یک میشود 1
برای پیدا کردن ب م م روش ساده این است که تمامی مقسوم علیه های دو عدد را بنویسیم و بزرگترین عددی که بین آن دو مشترک هست را ب م م انتخاب کنیم.
پیاده سازی ب م م در جاوا
برای پیاده سازی ب م م در جاوا ما ایتدا نیاز به دو عدد داریم که آنها را a و b مینامیم. برای پیاده سازی ما از این روش استفاده میکنیم که عدد کوچکتر را در نظر میگیریم و تمامی اعداد بین 1 تا عدد کوچکتر را بر هر دو عدد تقسیم میکنیم اگر باقیمانده صفر شد ما آن عدد را به عنوان ب م م در نظر میگیریم. توجه داشته باشید که ما از عدد کوچکتر شروع میکنیم و یکی یکی به پایین حرکت میکنیم.
public class GCD {
public static void main(String[] args) {
int a = 10;
int b = 10;
int gcd = GCD(a, b);
System.out.println(gcd);
}
private static int GCD(int a, int b) {
int gcd = 0;
if (a == 0 || b == 0) {
gcd = 0;
} else {
if (a > b) {
for (int i = b; i > 0; i--) {
if (a % i == 0 && b % i == 0) {
gcd = i;
break;
}
}
} else if (a < b) {
for (int i = a; i > 0; i--) {
if (a % i == 0 && b % i == 0) {
gcd = i;
break;
}
}
} else {
// a == b
gcd = a;
}
}
return gcd;
}
}
سلام ممنونم از زحمات شما ی سوال داشتم در مورد جاوا میخام دو عدد از ورودی بگیرد بزرگ ترین قاسم مشترک آن را نشان بتی
سلام ممنونم از زحمات شما ی سوال داشتم در مورد جاوا میخام دو عدد از ورودی بگیرد بزرگ ترین قاسم مشترک آن را نشان بتی
سلام. خسته نباشید. در کد بالا دو عدد a و b داریم که با کمک کلاس Scanner میتونید از کاربر در ورودی بگیرید. بقیه کد نیازی به تغییر نداره.