Scrivere un programma che dato un array a in input di n elementi
verifichi usando un metodo ricorsivo se l'array è composto da valori per cui vale la seguente elementi con indice
i<=1, nessuna condizzione
per i > 1 a
= a[i-1] * a[i-2];
esempio
2,3,6,18 è true
se l'array è vuoto o se devo considerare al piu di due elementi ok..
public class ESERCIZIO_RICORSIONE_ESAME {
public static boolean Ricorsione(int[] a,int i) {
//caso base
if(a.length-1== i || a[0]==0) {
return true;
}
if (a[i] == a[i-1] * a[i-2]) {
return Ricorsione(a,i+1);
} else {
return false;
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("inserire un array");
int[] b = new int[scan.nextInt()];
for(int i=0; i<b.length-1;i++) {
System.out.println("inserire valori");
b[i]= scan.nextInt();
}
Ricorsione(b,0);
}
Non riesco a capire dove sia il problema...
probabilmente sarà nel secondo if ma non saprei come gestirla