تحديات برمجيةالتحدي التاسع - حل التمرين الرابع بلغة جافا
المطلوب
قم بتعريف دالة إسمها 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