English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا البرنامج، ستعلم كيفية العثور على أكبر عدد مشترك لعددين (GCD) في برنامج Java. يتم القيام بذلك باستخدام دائرة المعادلة و الجملة if else.
HCF أو GCD لعددين كاملين هو أكبر عدد يمكن تقسيمه على العددين (بدون بقايا).
public class GCD { public static void main(String[] args) { int n1 = 81, n2 = 153, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) { // التحقق مما إذا كان i هو معامل لعددين كاملين if(n1 % i == 0 && n2 % i == 0) gcd = i; {} System.out.printf(" %d و %d أكبر عدد مشترك هو %d", n1, n2, gcd); {} {}
عند تشغيل هذا البرنامج، الناتج هو:
أكبر عدد مشترك لـ 81 و 153 هو 9
في هذا السياق، سيتم تخزين العددين اللذين سيتم العثور على أكبر عدد مشترك لهما في n1 و n2.
ثم، استخدم دائرة المعادلة حتى أن i أقل من n1 و n2. بهذه الطريقة، يتم تكرار الأرقام من 1 إلى الأصغر بين العددين لتحديد أكبر عدد مشترك.
إذا كان n1 و n2 يمكن أن يتم تقسيمها على i، فإننا نضبط gcd على الرقم. يستمر حتى يتم العثور على أكبر عدد (GCD) الذي يمكن تقسيمه على n1 و n2 دون بقايا.
يمكننا أيضًا استخدام دائرة المعادلة لحل هذه المشكلة، كما يلي:
public class GCD { public static void main(String[] args) { int n1 = 81, n2 = 153; while(n1 != n2) { if(n1 > n2) n1 -= n2; else n2 -= n1; {} System.out.println("G.C.D = " + n1); {} {}
عند تشغيل هذا البرنامج، الناتج هو:
G.C.D = 9
هذه هي طريقة أفضل لتحديد GCD. في هذه الطريقة، يتم طرح العدد الأصغر من العدد الأكبر، ثم يتم توزيع الناتج على المتغير الذي يحتوي على العدد الأكبر. يتم استمرار هذا العمل حتى يصبح n1 و n2 متساويين.
يمكن أن تعمل البرامج السابقة كما هو متوقع فقط عندما يدخل المستخدم عدد إيجابي. هذا هو تعديل للثاني من هذه الأمثلة يمكن العثور عليه على GCD للعددين الإيجابي والسالب.
public class GCD { public static void main(String[] args) { int n1 = 81, n2 = -153; n1 = (n1 > 0) ? n1 : -n1; n2 = (n2 > 0) ? n2 : -n2; while(n1 != n2) { if(n1 > n2) n1 -= n2; else n2 -= n1; {} System.out.println("G.C.D = " + n1); {} {}
عند تشغيل هذا البرنامج، الناتج هو:
G.C.D = 9