الأعداد الأولية من 1 إلى 100 في Java: اعرض من 1 إلى 100 في Java

نشرت: 2021-02-08

جدول المحتويات

مقدمة

بادئ ذي بدء ، لنبدأ بتعريف العدد الأولي. يُقال أن الرقم هو عدد أولي إذا كان يقبل القسمة على 1 وعلى نفسه. إذا طُلب منا قول الأعداد الأولية من 1 إلى 100 ، فستكون مهمة شاقة للتحقق من كل رقم على الورق وتحديد ما إذا كان عددًا أوليًا أم لا. لا تهتم ، يمكننا كتابة رمز للقيام بذلك وجافا تجعل الأمور سهلة.

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

لنقم ببناء رمز لطباعة الأعداد الأولية من 1 إلى 100 ونسير من خلاله. لنبدأ!

برنامج جافا

قبل القفز إلى الكود ، سوف نفهم الخوارزمية للتحقق مما إذا كان الرقم عددًا أوليًا أم لا. في البداية ، نحتاج إلى إجراء حلقة فوق جميع الأرقام من 1 إلى N والحفاظ على عدد الأرقام التي تقسم الرقم المحدد بشكل صحيح. إذا كان العدد 2 ، فيمكننا استنتاج أن العدد المحدد هو عدد أولي ، وإلا فإنه ليس عددًا أوليًا. هذا هو الكود للقيام بذلك.

كثافة العمليات ن = 5 ؛
كثافة العمليات ج = 0 ؛
لـ ( int i = 1 ؛ i <= n ؛ i ++)
إذا (n٪ i == 0 )
سي ++ ؛
إذا (ج == 2 )
System.out.println (n + "هو رقم أولي" ) ؛
آخر
System.out.println (n + "ليس رقمًا أوليًا" ) ؛

في المقتطف أعلاه n هو الرقم الذي يجب التحقق منه إذا كان عددًا أوليًا أم لا ، c هو متغير يخزن عدد القواسم المناسبة. ونحن ندير النطاق من 1 إلى n ونزيد العد إذا وجدنا قاسمًا مناسبًا.

وبعد الخروج من الحلقة ، نتحقق مما إذا كان العدد 2 أي ؛ لا يوجد سوى اثنين من القواسم المناسبة (1 ونفسه). إذا كانت الإجابة بنعم ، نختتمها كرقم أولي ، أو عدد غير أولي. عند الحديث عن التعقيد الزمني للشفرة أعلاه ، فهو رمز خطي ، لذا فهو رمز تعقيد O (n).

الآن وقد طُلب منا طباعة الأعداد الأولية من 1 إلى 100 ، نحتاج إلى تشغيل نفس الخوارزمية لكل رقم بين 1 إلى 100 وتخزين العدد الأولي. وإليك الكود للقيام بذلك.

ArrayList <Integer> a = new ArrayList <> () ؛
لـ ( int n = 1 ؛ n <= 100 ؛ n ++) {
كثافة العمليات ج = 0 ؛
لـ ( int i = 1 ؛ i <= n ؛ i ++)
إذا (n٪ i == 0 )
سي ++ ؛
إذا (ج == 2 )
أ. add (n) ؛
آخر
تواصل _
}
System.out.println (أ) ؛

في الكود أعلاه ، أعلنا ArrayList الذي يخزن جميع الأعداد الأولية في النطاق من 1 إلى 100. الآن لدينا حلقتان for الأولى هي الحلقة for looping على جميع الأرقام بين 1 إلى 100 والثانية for loop هي خوارزمية الأعداد الأولية السابقة. بعد تشغيل خوارزمية العدد الأولي لكل رقم ، نقوم بدفعه إلى ArrayList إذا كان عددًا أوليًا.

تحقق من: راتب Java Developer في الهند

وبعد إكمال الحلقات ، نقوم بطباعة ArrayList الخاصة بنا والتي تعرض جميع الأعداد الأولية من 1 إلى 100. بالحديث عن التعقيد الزمني للشفرة أعلاه ، يمكننا أن نرى أن هناك حلقتين for. لذلك فهو رمز تعقيد O (n ²).

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

الأعداد الأولية في نطاق الإدخال المحدد

ستكون الخوارزمية بأكملها تقريبًا مشابهة للكود أعلاه ، والفرق الوحيد الذي نحدثه هو أخذ مدخلات المستخدم للحد الأدنى والحد الأعلى للنطاق.

دعونا نبني الكود الآن!

الماسح الضوئي = ماسح ضوئي جديد (System.in) ؛
int أقل = sc.nextInt () ؛
int upper = sc.nextInt () ؛
ArrayList <Integer> a = new ArrayList <> () ؛
لـ (int n = Lower ؛ n <= upper ؛ n ++) {
كثافة العمليات ج = 0 ؛
لـ (int i = 1 ؛ i <= n ؛ i ++)
إذا (n٪ i == 0)
سي ++ ؛
إذا (ج == 2)
أ. add (n) ؛
آخر
استمر؛
}
System.out.println (أ) ؛

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

اقرأ أيضًا: أفكار وموضوعات مشروع Java

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

خاتمة

لقد فهمنا تعريف الأعداد الأولية ، وتصفحنا من خلال خوارزمية لمعرفة ما إذا كان الرقم أوليًا أم لا ، وقمنا بتوسيع هذه الخوارزمية للعثور على الأعداد الأولية من 1 إلى 100. ولاحقًا استخدمنا ماسح جافا لقراءة مدخلات المستخدم لـ التغيير والتبديل في نطاق الأرقام التي سيتم التحقق منها إذا كانت أولية أم لا ، أنشأ خوارزمية لطباعة الأعداد الأولية في نطاق معين من قبل المستخدم.

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

إذا كنت ترغب في تحسين مهارات جافا الخاصة بك ، فأنت بحاجة إلى الحصول على يديك في مشاريع جافا هذه. إذا كنت مهتمًا بمعرفة المزيد حول Java ، التطوير الكامل ، فراجع برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

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

ما هي مناخل إراتوستينس؟

غربال إراتوستينس هي خوارزمية يونانية قديمة لإيجاد الأعداد الأولية. تُعرف الخوارزمية ببساطتها وكفاءتها ، بمعنى أنها سريعة جدًا بالنسبة لوقتها ومع ذلك تنتج أعدادًا أولية جيدًا. تعمل الخوارزمية بحذف جميع مضاعفات كل عدد أولي من الأعداد المركبة ، بدءًا من مضاعفات 2 وانتهاءً بمضاعفات N (N هو الرقم الأخير الذي تريد إيجاد الأعداد الأولية له). كان إراتوستينس عالم رياضيات يونانيًا وكان يعتبر مؤسس مكتبة الإسكندرية في مصر. وهو معروف بحساب محيط الأرض وقطرها.

ما هي هياكل البيانات والخوارزميات؟

بنية البيانات هي طريقة لتخزين البيانات بحيث يمكن لبرنامج الكمبيوتر استردادها وتعديلها. هيكل البيانات هو تجريد للغة البرمجة. قد يكون كيانًا في حد ذاته أو جزءًا من كيان بيانات آخر. قد تكون بيانات في حد ذاتها ، أو قد تكون آلية للوصول إلى البيانات الأخرى ومعالجتها. تتكون بنية البيانات من تعريف البيانات ونوع البيانات والمحتوى والعمليات التي يمكن تطبيقها على المحتوى. الخوارزميات هي إجراءات خطوة بخطوة لحل مشكلة الكمبيوتر. كل خوارزمية عبارة عن سلسلة من الإجراءات التي ستؤدي إلى حل المشكلة.