Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung

< Javakurs‎ | Übungsaufgaben‎ | Primzahlenaufgabe
Version vom 30. April 2010, 08:20 Uhr von 217.24.13.134 (Diskussion) (Lösung: Optimierter Primzahlfinder)

Hinweis: Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.

Lösung: Einfacher Primzahlfinder

/**
 * @author Andy Gunschl (Freitagsrunde)
 *
 */
public class Primzahl {

	public static void main(String[] args) {
		//Grenze bis zu der Primzahlen gesucht werden
		int n = 10;
		//beginne bei der Zahl 2 da 1 keine Primzahl ist
		for(int i=2;i<=n;i++){
			//isPrimzahl ist ein Wahrheitswert, um zu überprüfen ob wir eine Primzahl gefunden haben.
			//falls nicht wird sie später auf false gesetzt.
			boolean isPrimzahl = true;
			//i durch jede Zahl kleiner als i zu teilen und zu überprüfen, ob ein Rest übrig bleibt. 
			//BSP. im wiki 25=i und j wäre die Variable die hochgezählt wird
			for(int j=2;j<i && isPrimzahl;j++){
				//Wenn eine division als rest 0 hat dann ist die Zahl keine Primzahl 
				//und somit ist isPrimzahl auf false zu setzten
				if((i%j)==0){
					isPrimzahl = false;
				}
			}
			//gib eine Meldung aus falls es sich um eine Primzahl handelt.
			if(isPrimzahl){
				System.out.println(i+" ist eine Primzahl!");
			}
		}
	}
}

Lösung: Optimierter Primzahlfinder

import java.util.Scanner; public class Primzahlenlösung {

 public static void main(String[] args) {
   int i, n, aus=0, biswieviel, von;
   System.out.println("Es gibt ihnen Primzahlen in dem Breich den sie angeben aus.");
    Scanner tastatur=new Scanner(System.in);
    System.out.print("Primzahlen von?");
    von=tastatur.nextInt();
    System.out.print("bis?");
    biswieviel=tastatur.nextInt();
   for (i=von;i<=biswieviel;i++ ) {
    for (n=2;n<i ;n++ ) {
     if (i%n==0) {
     aus=0; n=i;
     } else {
     aus=1;
     }
    }
    if (aus==1) {
    System.out.println(i);
   }
   
   }
 }

}

Kommentare

Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)