Java >> Java Tutorial >  >> Java

5 verschiedene Primzahlprogramme in Java | Primzahlen zwischen 1 und 100

Was ist eine Primzahl?

Eine Primzahl ist eine Zahl, die größer als 1 ist und durch 1 teilbar und nur sich . Einige der Primzahlen sind 2, 3, 5, 7, 11, 13, 17…  Lassen Sie uns in diesem Primzahlprogramm in Java einen Blick auf die verschiedenen Primzahlprogramme werfen.

Ist 0 eine Primzahl?

0 ist weder Primzahl noch zusammengesetzt Zahl, per Definition ist eine Primzahl eine Zahl mit genau zwei positiven Teilern , 1 und sich . Null hat eine unendliche Anzahl von Teilern (Wir können 0 dividieren bei allen reellen Zahlen) Also Null ist keine Primzahl.

Ist 1 eine Primzahl?

1 wird nicht als Prime betrachtet weil es die Kriterien nicht erfüllt, die genau zwei Faktoren sind 1 und sich , während 1 hat nur eine Faktor

Primzahlprogramm in Java mit Scanner

Wir alle wissen, dass die Primzahlen nur durch sich selbst geteilt werden können und 1 . Lassen Sie uns den zu berücksichtigenden Bereich verstehen.

Im Allgemeinen kann eine Zahl nicht durch eine größere Zahl geteilt werden als sich selbst und daher können wir die Obergrenze für die Anzahl festlegen . Außerdem können wir den Bereich einschränken, indem wir berücksichtigen, dass keine Zahl Faktoren größer als die Quadratwurzel haben kann der Nummer (oder) halbieren (einschließlich der Nummer selbst).

Nehmen wir zum Beispiel die Zahl 19 . Es kann nicht durch eine Zahl größer als 19 geteilt werden , 20 19 kann nicht geteilt werden und zu berücksichtigender Bereich ist 19/2 das ist 9,5 und daher können wir den Bereich zwischen 2 betrachten bis 9 .

  • Erhalten Sie die zu überprüfende Nummer vom Benutzer.
  • Überprüfen Sie, ob die Zahl größer als 1 ist , wenn die Zahl kleiner als 1 ist dann kann es keine Primzahl sein.
  • Teilen Sie in einer iterativen Schleife die Zahl durch den Bereich 2 an Nummer/2 , und prüfen Sie, ob der Rest nicht Null ist , wenn Null, dann ist die Zahl keine Primzahl.
package com.javainterviewpoint;

import java.util.Scanner;

public class PrimeNumber1
{
	public static void main(String[] args)
	{
		Scanner scanner = new Scanner(System.in);
		System.out.println("Enter a number check :");
		int number = scanner.nextInt();
		
		if(checkPrime(number))
			System.out.println(number +" is a Prime Number");
		else
			System.out.println(number +" is not a Prime Number");
	}
	
	public static boolean checkPrime(int n)
	{
		if(n <= 1)
			return false;
		
		for(int i=2; i<= n/2; i++)
		{
			if((n % i) == 0)
				return false;
		}
		
		return true;
	}
}
  • Mit Scanner Holen Sie sich die Eingabe des Benutzers und speichern Sie sie in der Variablen „Zahl“ .
  • Der checkPrime() überprüft, ob die übergebene Zahl eine Primzahl ist oder nicht. Es gibt boolesche Werte basierend auf den folgenden Kriterien zurück
    • Gibt false zurück wenn die Zahl weniger ist als oder gleich zu 1 .
    • Gibt false zurück wenn der Rest ist Null .
    • Wenn die Zahl größer als 1 ist und es ist nicht teilbar eine beliebige Zahl im Bereich von 2 an Nummer/2 dann gibt es true zurück .

Primzahlprogramm in Java mit While-Schleife

Wir können auch das while verwenden Schleife statt for Schleife, schreiben wir den obigen Code mit while neu Schleife.

Wir müssen nur einige kleinere Änderungen vornehmen, wie die Initialisierung von „i“ [i=2] geschieht kurz vor Beginn der Schleife, Inkrementierung von „i“ [i++] geschieht innerhalb der Schleife und natürlich müssen wir for ändern Schleife in while Schleife.

package com.javainterviewpoint;

import java.util.Scanner;

public class PrimeNumber2
{
	public static void main(String[] args)
	{
		Scanner scanner = new Scanner(System.in);
		System.out.println("Enter a number check :");
		int number = scanner.nextInt();
		
		if(checkPrime(number))
			System.out.println(number +" is a Prime Number");
		else
			System.out.println(number +" is not a Prime Number");
	}
	
	public static boolean checkPrime(int n)
	{
		if(n <= 1)
			return false;
		
		int i=2;
		while(i<= n/2)
		{
			if((n % i) == 0)
				return false;
			i++;
		}
		
		return true;
	}
}

Java-Programm, um alle Primzahlen aus dem Array zu finden

Lassen Sie uns bei diesem Ansatz erhalten die Eingabe vom Benutzer und speichern es im Array und finden Sie alle Primzahlen aus dem Array.

  • Erhalten Sie die Größe des Arrays vom Benutzer und erstellen Sie ein Array zum Speichern der eingegebenen Zahlen
  • Holen Sie sich die Elemente des Arrays vom Benutzer und speichern es in dem Array, das im vorherigen Schritt erstellt wurde
  • Iterieren Sie schließlich das Array und übergeben Sie jedes Element an checkPrime() -Methode und führen Sie die Hauptvalidierung durch
package com.javainterviewpoint;

import java.util.Arrays;
import java.util.Scanner;

public class PrimeNumber3
{
	public static void main(String[] args)
	{
		Scanner scanner = new Scanner(System.in);
		System.out.println("Enter the size of the array :");
		int arraySize = scanner.nextInt();

		int[] values = new int[arraySize];

		System.out.println("Enter the elements of the array : ");
		for (int i = 0; i < arraySize; i++)
		{
			values[i] = scanner.nextInt();
		}

		System.out.println("*** Printing the Prime Numbers ***");
		for (int i = 0; i < arraySize; i++)
		{
			if (checkPrime(values[i]))
			{
				System.out.println(values[i]);
			}
		}

	}

	public static boolean checkPrime(int n)
	{
		if (n <= 1)
			return false;

		int i = 2;
		while (i <= n / 2)
		{
			if ((n % i) == 0)
				return false;
			i++;
		}

		return true;
	}
}

Ausgabe:

Enter the size of the array :
5
Enter the elements of the array : 
1 2 3 4 5
*** Printing the Prime Numbers ***
2
3
5

Primzahlen zwischen 1 und 100 / Liste der Primzahlen von 1 bis 100

Lassen Sie uns alle Primzahlen zwischen 1 drucken bis 100

package com.javainterviewpoint;

public class PrimeNumber4
{
	public static void main(String[] args)
	{
		System.out.println("*** Prime Numbers between 1 to 100 ***");
		for (int i = 2; i < 100; i++)
		{
			if (checkPrime(i))
			{
				System.out.print(i+"  ");
			}
		}
	}
	
	public static boolean checkPrime(int n)
	{
		if(n <= 1)
			return false;
		
		int i=2;
		while(i <= n/2)
		{
			if((n % i) == 0)
				return false;
			i++;
		}
		
		return true;
	}
}

Ausgabe:

*** Prime Numbers between 1 to 100 ***
2  3  5  7  11  13  17  19  23  29  31  37  41  43  47  53  59  61  67  71  73  79  83  89  97

Finde alle Primzahlen zwischen 1 und N

  • Hol dir die Obergrenze vom Benutzer und speichere sie in der Variable „N“
  • Starte die Schleife ab 2 bis N , inkrementiere die Schleife für jede Iteration um 1
  • ImcheckPrime() -Methode haben wir ein boolesches Flag verwendet. Es wird auf false gesetzt wenn die Zahl kleiner als 1 ist oder wenn die Zahl durch Zahl/2. teilbar ist
  • Validieren Sie den booleschen Wert, der von checkPrime() zurückgegeben wird und drucken Sie die Nummer aus wenn der boolesche Wert zurückgegeben ist wahr .
package com.javainterviewpoint;

import java.util.Scanner;

public class PrimeNumber5
{
	public static void main(String[] args)
	{
		Scanner scanner = new Scanner(System.in);
		System.out.println("Enter the Upper limit :");
		int N = scanner.nextInt();
		
		System.out.println("*** Prime Numbers between 1 to N ***");
		for (int i = 2; i <= N; i++)
		{
			if (checkPrime(i))
			{
				System.out.print(i+"  ");
			}
		}
	}
	
	public static boolean checkPrime(int n)
	{
		boolean flag = true;
		
		if(n <= 1)
			flag = false;
		
		for(int i=2; i<= n/2; i++)
		{
			if((n % i) == 0)
                        {
				flag = false;
                                break; 
                         }
		}
		
		return flag;
	}
}

Ausgabe:

Enter the Upper limit :
55
*** Prime Numbers between 1 to N ***
2  3  5  7  11  13  17  19  23  29  31  37  41  43  47  53

Bonus – Primzahlen-Diagramm

Die folgende Tabelle enthält die Liste der Primzahlen ab 1 bis 100 . Alle Primzahlen sind grün hinterlegt.

Viel Spaß beim Lernen!!


Java-Tag