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

تعليمات Java الأساسية

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

مجموعات Java (Array)

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

معالجة الاستثناءات Java

قوائم Java (List)

Java Queue (الصف)

مجموعات Java Map

مجموعات Java Set

إدخال/خرج Java (I/O)

قراء/كتابة Java

مواضيع أخرى في Java

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

مثال كامل Java

في هذا المقال، ستتعلم كيفية التحقق من أن الرقم هو عدد أولي. يتم القيام بذلك باستخدام دورة for و while في Java.

العدد الأولي هو عدد يمكن تقسيمه بواسطة إثنين فقط من الأرقام: 1 وبه نفسه. لذلك، إذا كان الرقم يمكن تقسيمه بواسطة أي عدد آخر غير 1 وبه نفسه، فإنه ليس عدد أولي.

مثال 1: برنامج التحقق من عدد الأولي باستخدام دورة for

public class Prime {
    public static void main(String[] args) {
        int num = 29;
        boolean flag = false;
        for(int i = 2; i <= num/2; ++i)
        {
            //شرط غير عدد أولي
            if (num % i == 0)
            {
                flag = true;
                break;
            }
        }
        if (!flag)
            System.out.println(num + " هو عدد أولي");
        else
            System.out.println(num + " ليس عدد أولي");
    }
}

نتائج الإخراج

29 هو عدد أولي

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

في هذا السياق، يرجى ملاحظة أننا نلتف من 2 إلى num / 2. هذا لأن الرقم لا يمكن تقسيمه بواسطة أي عدد أكبر من نصفه.

في الداخل for الدورة، نحن نتحقق من أن الرقم يمكن تقسيمه بواسطة أي عدد في النطاق المحدد (2...num/2).

  • إذا تم تقسيم num، يتم تعيين flag إلى true، ونحن نخرج من الدورة. هذا يؤكد أن num ليس عدد أولي.

  • إذا لم يتمكن num من التقسيم بواسطة أي عدد آخر، فإن flag يكون خطأ، وnum هو عدد أولي.

مثال 2: برنامج التحقق من عدد الأولي باستخدام دورة while

public class Prime {
    public static void main(String[] args) {
        int num = 33, i = 2;
        boolean flag = false;
        while (i <= num / 2)
        {
            //شرط غير عدد أولي
            if (num % i == 0)
            {
                flag = true;
                break;
            }
            ++i;
        }
        if (!flag)
            System.out.println(num + " هو عدد أولي");
        else
            System.out.println(num + " ليس عدد أولي");
    }
}

نتائج الإخراج

33 ليس عدد أولي

في البرنامج أعلاه، استبدل دائرة for بـ while. تشغيل الدائرة حتى i <= num / 2. في كل تكرار، قم بفحص ما إذا كان num قابلاً للقسمة على i، وأضف 1 إلى قيمة i.

زيارة هذه الصفحة لمعرفة كيفيةعرض جميع الأعداد الأولية بين فترتين زمنيتين.

مثال كامل Java