Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي التاسع - حل التمرين الرابع بلغة جافا

المطلوب

قم بتعريف دالة إسمها IsPrime(), عند استدعاءها نمرر لها عدد, فترجع True إذا كان العدد عبارة عن عدد أوّلي ( Prime Number ) و ترجع False إن لم يكن كذلك.
بعدها قم بتجربة هذه الدالة في البرنامج.

معلومة: العدد الأولي هو العدد الذي يقبل القسمة على نفسه و على 1 فقط مثل الأرقام 1 - 3 - 5 - 7 - 11 - 13 - 17 إلخ..


الحل بلغة جافا

public class Main {
    
    public static boolean isPrime(int n)
    {        
       // إذا كان الرقم من الأساس أصغر أو يساوي 1 فعندها لا يعتبر عدد أولي
        if (n <= 1)
        {
            return false;
        }
        
        // إذا كان الرقم الذي تم تمريره إليها أكبر من 1 عندها سيتم التأكد منه
        else
        {
            // سنحاول قسمته على جميع الأعداد الموجودة إبتداءاً من الرقم 2 إلى نصف قيمه العدد الذي تم تمريره للدالة
            for(int i = 2; i <= (n / 2); i++)
            {
                // إذا كان العدد الذي تم تمريره لها لا يمكن قسمته على أي رقم بين 2 و نصفه فعندها لا يعتبر عدد أولي
                if (n % i == 0)
                {
                    return false;
                }
            }
            // إذا كان العدد الذي تم تمريره لها يمكن قسمته على أي رقم بين 2 و نصفه فعندها يعتبر عدد أولي
            return true;
        }
    }
    
    public static void main(String[] args)
    {
        System.out.println("2 is a prime number? " + isPrime(2));
        System.out.println("3 is a prime number? " + isPrime(3));
        System.out.println("4 is a prime number? " + isPrime(4));
        System.out.println("5 is a prime number? " + isPrime(5));
        System.out.println("6 is a prime number? " + isPrime(6));
    }

}

سنحصل على النتيجة التالية عند التشغيل.

2 is a prime number? true
3 is a prime number? true
4 is a prime number? false
5 is a prime number? true
6 is a prime number? false