Java :: Aufgabe #94 :: Lösung #1
2 Lösungen
#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
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
von Ngakoyo (110 Punkte)
- 23.10.2015 um 07:36 Uhr
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
Seite 1 von 0
1
