Серия определена следующим образом:Модифицированный Фибоначчи в Java
Учитывая, п-й и (п + 1) -й точки, (п + 2) -й может быть вычислена следующим соотношением, Тп + 2 = (Tn + 1) 2 + Tn Для трех целых чисел A, B и N таких, что первые два члена ряда (1-й и 2-й члены) являются A и B соответственно, вычисляют N-й член ряда.
Это мой код,
public static long fibonacciModified(int a, int b, int n){
long[] arr = new long[n];
arr[0] = a;
arr[1] = b;
for(int i = 2; i< n; i++){
arr[i] = (long)(Math.pow(arr[i-1], 2) + arr[i-2]);
}
return arr[n-1];
}
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] strArray = str.split(" ");
int a = Integer.parseInt(strArray[0]);
int b = Integer.parseInt(strArray[1]);
int n = Integer.parseInt(strArray[2]);
System.out.println(fibonacciModified(a, b, n));
}
Что может быть логическая ошибка в этом коде, так как он не проходит большинство тестов. У меня нет доступа к тестовым случаям. Любая помощь оценивается.
будьте более конкретным; есть ли сообщение об ошибке? Что именно не работает? Вы имеете в виду Tn + 2 = (Tn + 1)^2 + Tn в описании проблемы? – Codor
Я бы предложил сначала создать свои собственные тестовые примеры. Кроме того, если у вас есть доступ к выходу вашей программы, вы можете отслеживать, какие данные вы получаете. –
для (int i = 2; i
CodeIsLife