Java :: Aufgabe #57 :: Lösung #2
5 Lösungen

#57
Alle Primzahlen bis zu einem Maximalwert ermitteln
Anfänger - Java
von devnull
- 26.02.2014 um 18:36 Uhr
Es soll ein Programm geschrieben werden, welches alle Primzahlen im Bereich von 2 bis zu einem Maximalwert sucht und auf der Konsole ausgibt.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
#2

von AaronHodel (50 Punkte)
- 29.08.2014 um 17:27 Uhr

import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; /** * @author Aaron Hodel * */ public class Prim { public static void main(String[] args) throws Exception { printPrims(getInt()); } public static int getInt() throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int i = 0; while (true) { String s = reader.readLine(); try { i = Integer.parseInt(s); } catch(NumberFormatException e) { System.err.println("Please type in a number"); continue; } return i; } } public static void printPrims(int i) { List<Integer> prims = getPrims(i); for (int p : prims) { System.out.print(p + ", "); } } public static List<Integer> getPrims(int i) { List<Integer> prims = new ArrayList<Integer>(); for (int p = 2; p < i; p++) { if (isPrim(p)) prims.add(p); } return prims; } public static boolean isPrim(int i) { for (int l = 2; l <= i / 2; l++) { if (i % l == 0) return false; } return true; } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1