البرمجة

إيجاد العدد الأولي 10001 في Java

بدايةً، يظهر أن لديك استفسار حول استخدام الرموز / و % في لغة البرمجة Java، وكذلك تحتاج إلى بعض النصائح بخصوص الكود الذي كتبته. دعني أشرح لك بشكل مفصل.

فيما يخص الرموز / و % في Java، فإن الرمز / يستخدم للقسمة بين الأعداد، أما الرمز % يُستخدم للحصول على باقي القسمة. على سبيل المثال، إذا قمت بكتابة primeNum / 2، فإنها تقوم بقسمة قيمة primeNum على 2، أما primeNum % 2، فتقوم بإرجاع باقي القسمة على 2.

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

java
public class PrimeNumber { public static void main(String[] args) { int count = 0; // عداد الأعداد الأولية int primeNum = 2; // العدد الأولي الحالي while (count < 10001) { if (isPrime(primeNum)) { count++; } primeNum++; } System.out.println("The 10001st prime number is: " + (primeNum - 1)); } // تحقق إذا كان العدد الحالي أوليًا private static boolean isPrime(int num) { if (num < 2) { return false; } for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { return false; } } return true; } }

قمت بإجراء تعديلات لتصحيح الشرط داخل الحلقة ولتحسين أداء الكود. أيضًا، قمت بإنشاء وظيفة isPrime للتحقق مما إذا كان العدد الحالي أوليًا أم لا، وذلك لتحسين قراءة الكود وجعله أكثر فهمًا.

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

المزيد من المعلومات

بالطبع، دعني أوسع شرحي لتحليل الكود وفهم المفاهيم المستخدمة:

  1. الحلقة التكرارية:
    في الكود، استخدمت حلقة while لتكرار العملية حتى يتم العثور على العدد الأولي رقم 10001. تزيد قيمة primeNum بمقدار واحد في كل تكرار، وتزيد قيمة count فقط عندما يتم العثور على عدد أولي.

  2. التحقق من العدد الأولي:
    أنشأت وظيفة isPrime للتحقق مما إذا كان العدد الحالي num هو عدد أولي أم لا. يتم استخدام مبدأ بسيط هو أن العدد num هو أولي إذا لم يكن لديه أي عوامل مشتركة مع الأعداد الأصغر من جذر num. هذا يساعد في تحسين أداء الكود.

  3. تصحيح الطباعة:
    ضمن السطور الأخيرة، تم استخدام System.out.println لطباعة رقم العدد الأولي الذي تم العثور عليه. تم استخدام (primeNum - 1) بدلاً من primeNum نظرًا لأن قيمة primeNum زادت بمقدار واحد بعد العثور على العدد الأولي ال10001.

  4. تعلم البرمجة:
    يظهر من كودك أنك تحاول التعلم وتحسين مهاراتك في البرمجة، وهذا أمر جيد. يفضل دائمًا التجريب وتحسين الكود بشكل تدريجي. ابدأ بتفهم المفاهيم الأساسية واستخدم التجارب والأمثلة لتعزيز فهمك.

  5. الأسلوب والعاطفة:
    تبدو عاطفتك والرغبة في متابعة مسار والدك في مجال تكنولوجيا المعلومات واضحة في كلماتك. يُشجع على الاستمرار في هذا الطريق، وتطوير مهاراتك بشكل منتظم.

إذا كان لديك أي أسئلة إضافية أو إذا كنت بحاجة إلى مساعدة في مفهوم معين، فلا تتردد في طرح المزيد من الأسئلة.

زر الذهاب إلى الأعلى