English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس أساسية في برمجة C

تحكم في العملية في C

الوظائف في لغة C

المسافات في لغة C

الإشارات في لغة C

الخطوط في لغة C

بنية C

ملفات لـ C

C أخرى

دليل مرجعي لـ C

برنامج C يبحث عن أكبر مشترك أولاً للعددين

مثال شامل للبرمجة بلغة C

في هذا المثال، ستتعلم كيفية حساب LCM (أكبر مشترك أولاً) للعددين المدخلين من قبل المستخدم.

لفهم هذا المثال، يجب أن تكون على علم بما يليبرمجة Cالموضوع:

LCM للعددين الصحيحين n1 وn2 هو أكبر عدد صحيح يمكن تقسيمه بشكل كامل بواسطة n1 وn2 (بدون بقايا). على سبيل المثال، LCM للأعداد 72 و120 هو 360.

استخدام while وif لحساب LCM (أكبر مشترك أولاً)

#include <stdio.h>
int main() {
    int n1, n2, min;
    printf("ادخل عددين إيجابيين: ");
    scanf("%d %d", &n1, &n2);
    // أكبر قيمة بين n1 وn2 يتم تخزينها في min
    min = (n1 > n2) ? n1 : n2;
    while (1) {
        إذا (min % n1 == 0 && min % n2 == 0) {
            printf("LCM لـ %d و%d هو %d.", n1, n2, min);
            break;
        }
        ++min;
    }
    return 0;
}

نتيجة الإخراج

ادخل عددين إيجابيين: 72
120
LCM لـ 72 و120 هو 360.

في هذا البرنامج، يتم تخزين الأعداد الصحيحة المدخلة من قبل المستخدم في المتغيرات n1 وn2.

أكبر قيمة بين n1 وn2 يتم تخزينها في min، ولا يمكن أن يكون LCM للعددين أقل من min.

تعبير�试 الحالة في循环 while دائمًا صحيح.

في كل تكرار، يتم التحقق من أن min يمكن أن يتم تقسيمه بشكل كامل بواسطة n1 وn2.

إذا (min % n1 == 0 && min % n2 == 0) { ... }

إذا كانت هذه الشروط غير صحيحة، فإن min سيرتفع 1، ويستمر في التكرار حتى تصبح تعبير�试 الحالة في جملة if صحيحًا.

يمكنك أيضًا العثور على LCM للعددين التاليين باستخدام الصيغة التالية:

LCM = (num1 * num2) / GCD

فهم كيفية العثور على ذلك في برمجة Cأكبر مشترك أولاً للعددين.

استخدام GCD لحساب LCM

#include <stdio.h>
int main() {
    int n1, n2, i, gcd, lcm;
    printf("ادخل عددين إيجابيين: ");
    scanf("%d %d", &n1, &n2);
    للمحصول على i = 1; i <= n1 && i <= n2; ++i) {
        
        // التحقق من أن i هو عامل مشترك للعددين
        إذا كان (n1 % i == 0 && n2 % i == 0)
            gcd = i;
    }
    lcm = (n1 * n2) / gcd;
    printf("LCM لعددين %d و%d هو %d.", n1, n2, lcm);
    return 0;
}

نتيجة الإخراج

أدخل عددين إيجابيين: 78
150
LCM لعددين 78 و150 هو 1950.

مثال شامل للبرمجة بلغة C