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

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

المطلوب

أكتب برنامج يطلب من المستخدم إعطائه عدد صحيح أكبر من 2 و خزنه في المتغير n.
بعدها يقوم بطباعة جميع الأعداد الأولية ( Prime Numbers ) الموجودة بين 2 و n.

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


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

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int n;
        boolean isPrime;

        do {
            System.out.print("Enter a number: ");
            n = input.nextInt();
        }
        while (n <= 1);
        
        System.out.print("All prime numbers between 2 and " + n + ": " );

        for (int i = 2; i <= n; i++)
        {
            isPrime = true;
            
            for (int j = 2; j <= i / 2; j++)
            {
                if (i % j == 0)
                {
                    isPrime = false;
                    break;
                }
            }
            
            if (isPrime)
            {
                System.out.print(i + " ");
            }
        }
            
        System.out.println();
    }

}

سنحصل على النتيجة التالية إذا قام المستخدم بإدخال الرقم 12 عند التشغيل.

Enter a number: 12
All prime numbers between 2 and 12: 2 3 5 7 11