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