Hallo zusammen,
ich habe eine Aufgabe, für die ich bis jetzt keine Lösung gefunden und zwar:
Schreiben Sie ein weiteres Programm Treppen2.java welches als Eingabe zusätzlich die maximale Schrittweite, also die Anzahl der Stufen die Maximal mit einmal überschritten werden können, einliest und die Anzahl der unterschiedlichen Möglichkeiten für das Besteigen der Treppe ausgibt.
Eigentlich habe ich eine Lösung gefunden, falls man die Möglichkeit hätte, um ein oder zwei Stufe aufeinander zunehmen aber wenn man mehr als zwei Stufe, was soll tun ???
Danke im voraus.
package Ubung8;
import java.util.Scanner;
public class Treppen {
public static long newFib = 0;
public static long meine(int n) {
long fib1 = 1;
long fib2 = 1;
long fib3 = 0;
for (int i = 0; i < n; i++) {// jedes mal vergleicht die Schleife mit n, die von Benutzer gekriget wurde.
if (i <= 1) {
newFib = 1;
} else if (i >= 2) {
fib3 = fib1;// Speichrung des letzten Ergebnis, um nächste schriftt zu addieren.
newFib = fib1 + fib2;//
fib1 = newFib;// Speichrung des neuen Ergebnis, um nächste schriftt zu addieren.
fib2 = fib3;
}
}
return newFib;
}
public static long z(int x) {
if (x > 1)
return z(x - 1) + z(x - 2);
else
return 1;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Geben Sie die Höhe einer Treppe !");
int Treppehohe = input.nextInt() + 1;
meine(Treppehohe);
System.out.println("Es gibt " + newFib + " verschiedene Möglichkeiten,um die Treppe hinaufzugehen ");
}
}
ich habe eine Aufgabe, für die ich bis jetzt keine Lösung gefunden und zwar:
Schreiben Sie ein weiteres Programm Treppen2.java welches als Eingabe zusätzlich die maximale Schrittweite, also die Anzahl der Stufen die Maximal mit einmal überschritten werden können, einliest und die Anzahl der unterschiedlichen Möglichkeiten für das Besteigen der Treppe ausgibt.
Eigentlich habe ich eine Lösung gefunden, falls man die Möglichkeit hätte, um ein oder zwei Stufe aufeinander zunehmen aber wenn man mehr als zwei Stufe, was soll tun ???
Danke im voraus.
package Ubung8;
import java.util.Scanner;
public class Treppen {
public static long newFib = 0;
public static long meine(int n) {
long fib1 = 1;
long fib2 = 1;
long fib3 = 0;
for (int i = 0; i < n; i++) {// jedes mal vergleicht die Schleife mit n, die von Benutzer gekriget wurde.
if (i <= 1) {
newFib = 1;
} else if (i >= 2) {
fib3 = fib1;// Speichrung des letzten Ergebnis, um nächste schriftt zu addieren.
newFib = fib1 + fib2;//
fib1 = newFib;// Speichrung des neuen Ergebnis, um nächste schriftt zu addieren.
fib2 = fib3;
}
}
return newFib;
}
public static long z(int x) {
if (x > 1)
return z(x - 1) + z(x - 2);
else
return 1;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Geben Sie die Höhe einer Treppe !");
int Treppehohe = input.nextInt() + 1;
meine(Treppehohe);
System.out.println("Es gibt " + newFib + " verschiedene Möglichkeiten,um die Treppe hinaufzugehen ");
}
}
Zuletzt bearbeitet: