برنامج للتحقق مما إذا كان الرقم عددًا أوليًا باستخدام لغة C

Amine
23/10/2024

برنامج للتحقق مما إذا كان الرقم عددًا أوليًا باستخدام C

العدد الأولي هو عدد صحيح أكبر من 1 ولا يقبل القسمة إلا على نفسه وعلى العدد 1. على سبيل المثال، 2، 3، 5، 7، و11 هي أمثلة على الأعداد الأولية.

في هذا البرنامج، سنتحقق مما إذا كان الرقم الذي يدخله المستخدم هو عدد أولي أم لا.

برنامج للتحقق من العدد الأولي

في البرنامج التالي، سنقوم بكتابة برنامج للتحقق مما إذا كان الرقم المدخل هو عدد أولي أم لا:

#include <stdio.h>

int main() {
    int num, i, isPrime = 1;

    // طلب إدخال الرقم من المستخدم
    printf("أدخل رقمًا: ");
    scanf("%d", &num);

    // التحقق مما إذا كان العدد أكبر من 1
    if (num <= 1) {
        isPrime = 0;
    } else {
        // التحقق من القسمة على أي عدد بين 2 و num-1
        for(i = 2; i <= num / 2; i++) {
            if (num % i == 0) {
                isPrime = 0;
                break;
            }
        }
    }

    // عرض النتيجة
    if(isPrime)
        printf("%d هو عدد أولي.\n", num);
    else
        printf("%d ليس عددًا أوليًا.\n", num);

    return 0;
}

الإخراج

أدخل رقمًا: 7
7 هو عدد أولي.

شرح البرنامج

في البرنامج أعلاه:

  • قمنا بطلب إدخال رقم من المستخدم.
  • تحققنا أولًا مما إذا كان الرقم أقل من أو يساوي 1، وفي هذه الحالة العدد ليس أوليًا.
  • ثم استخدمنا حلقة for للمرور على الأعداد من 2 إلى num / 2، للتأكد مما إذا كان الرقم يقبل القسمة على أي عدد آخر غير 1 ونفسه.
  • إذا وجدنا عددًا يقبل الرقم القسمة عليه، نعين isPrime إلى 0 ونخرج من الحلقة.
  • في النهاية، إذا كانت قيمة isPrime تساوي 1، فإن الرقم هو عدد أولي، وإلا فهو ليس كذلك.

ما هو العدد الأولي؟

العدد الأولي هو عدد صحيح أكبر من 1 ولا يقبل القسمة إلا على نفسه وعلى 1. أمثلة على الأعداد الأولية تشمل 2، 3، 5، 7، و11. الأعداد غير الأولية هي تلك التي تقبل القسمة على أعداد أخرى مثل 4 (الذي يقبل القسمة على 2)، و6 (الذي يقبل القسمة على 2 و3).

الخاتمة

في هذا الدرس، تعلمنا كيفية التحقق مما إذا كان الرقم هو عدد أولي باستخدام لغة C. فهم الأعداد الأولية يعد من الأساسيات في الرياضيات والبرمجة، ويمكن توسيع هذا البرنامج لاختبار أرقام أكبر بكفاءة أعلى باستخدام تقنيات أخرى مثل اختبار القسمة حتى الجذر التربيعي للرقم.

التعليقات

اترك تعليقاً