Java :: Aufgabe #94 :: Lösung #1

2 Lösungen Lösungen öffentlich
#94

Erstellung Pascalsches Dreieck

Anfänger - Java von BlackBird321 - 04.06.2015 um 22:43 Uhr
Schreibe ein Programm, welches das Pascalsches Dreieckwiedergibt.
Das Programm soll die Anzahl der Reihen entgegennehmen und dementsprechend widergeben (Nur halt ohne die Punkte :o)).

Beispiel für 5 Reihen:
....1
...11
..121
.1331
14641
#1
vote_ok
von Ngakoyo (110 Punkte) - 23.10.2015 um 07:36 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

public class PDreieck {

	public static void main(String[] args) {
		System.out.println("********** Pascalsches Dreieck **********");
		System.out.print("Bitte geben Sie die Anzahl der Reihen an: ");
		Scanner eingabe = new Scanner(System.in);
		int reihen = eingabe.nextInt();
		
		System.out.println("\nPascalsches Dreieck nach " + reihen + " Reihen\n");
		pDreieck_ausgabe(reihen);
	}

	//Methode zur Berechnung dser Fakultät einer positiven Zahl
	static int fak(int zahl){
		int fakultaet = 1;
		
		while(zahl > 0){
			
			fakultaet = fakultaet*zahl;
			zahl--;
		}
		return fakultaet;
	}
	
	//Methode zur Berechnung der Kombination von n über k: n!/k!*(n-k)!
	static int kombination(int n, int k){
		
		int n_fak = fak(n); 
		int k_fak = fak(k);
		int nk_fak = fak(n-k);
		
		return n_fak/(k_fak*nk_fak);
	}
	
	//Methode zur Berechnung der entsprechenden Koeffiziente im pascalschen Dreick der n. Reihe
	static int[]  koeffiziente(int n){
		 int[] koeff = new int[n+1]; //Ein Array zum Speichern der berechneten Koeffiziente
		for(int i = 0; i <= n; i++){
			
			koeff[i] = kombination(n, i); //Berechne die Koeffziente und speichere sie in ein Array
		}
		return koeff;
	}
	
	//Methode zur Ausgabe des pascalschen Dreieck für n Reihen
	static void pDreieck_ausgabe(int n){
		
		for(int j = 0; j < n; j++){
		
			int koeff[] = new int[j+1]; //Ein Array zum Speichern der berechneten Koeffiziente
			koeff = koeffiziente(j);
			
			for(int i = 1; i <= n-j; i++){
				
				System.out.print(" ");
			}
			
			//Ausgabe der nächsten Koeffiziente 
			for(int count = 0; count <= j; count++){
				System.out.print(koeff[count] + " "); 
			}
			System.out.println(); //gehe zur nächsten Reihe
		
		}
	}
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2076830

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.