Hallo, Ich muss die folgende Aufgabe lösen:
vervollständigen Sie die Methode solve() der Klasse Negafibonacci derart, dass sie für die als Parameter übergebene ganze Zahl n das n-te Glied der Folge zurückgibt.
Das ist meine Methode:
Die Methode funktioniert für alle Zahlen, außer negative gerade Zahlen. Bei n=-4 kommt z.B 3 raus statt -3. Das heißt, ich muss den ergebniswert bei negativen geraden Zahlen invertieren, aber wie?
vervollständigen Sie die Methode solve() der Klasse Negafibonacci derart, dass sie für die als Parameter übergebene ganze Zahl n das n-te Glied der Folge zurückgibt.
Das ist meine Methode:
Code:
public static int solve(int n) {
// Don't delete!! Tests will fail otherwise
// Pass object r to other function calls of solve (e.g. for recursion). Do not create other instances of object r
// Function solve(...) must be recursive, don't implement other recursive helper functions
//r.check();
// TODO
if (n>=0){
if(n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
//System.out.println(solve(n-1) + solve(n-2));
return solve(n-1) + solve(n-2); //der rekursive Aufruf
}}
else{
if(n == 0) {
return 0;
} else if (n == -1) {
return 1;
} else {
if (n%2==0){
//System.out.println(solve(n-1) + solve(n-2));
return solve(n+1) + solve(n+2);}
else{
return (solve(n+1) + solve(n+2)); //der rekursive Aufruf
}
}}
}