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