Это то, что у меня есть до сих пор. Я не могу точно сказать, как изменить числа, чтобы это имело смысл. Нужно ли включать индекс как часть уравнения? Хотя кажется, что n1 (предыдущее число) + (1/n2) должно дать мне новый n2. Есть предположения?Использование рекурсии заданное m (i) = 1 + 1/2 + 1/3 + 1/4 + 1/5 ... + 1/i
package myrecursivemethod;
public class MyRecursiveMethod {
private static double index = 0;
private static double stoppingPoint=10;
public static void main(String[] args) {
double n1= 0;
double n2= 1;
System.out.println("index: " + index + "->" + n1);
myRecursiveMethod(n1, n2);
}
public static void myRecursiveMethod(double n1, double n2)
{
System.out.println("index: " + index + " -> " + (n1+(1/n2)));
if (index == stoppingPoint)
return;
index ++;
myRecursiveMethod(n2, n1+(1/n2));
}
}
Попробуйте распечатать все переменные, а затем подумайте, действительно ли это кажется правильным. –
Не пытайтесь использовать какие-либо статические (или нестатические) поля в вашем методе. Эта задача может быть выполнена с помощью метода только с одним параметром, например 'double m (double i)'. Попробуйте посмотреть на формулу следующим образом: m (4) = (1 + 1/2 + 1/3) + 1/4', что означает, что 'm (4) = m (3) + 1/i'. Теперь попробуйте обобщить его. – Pshemo
@Pshemo Я бы превратил это в ответ, некоторые зрители не читают комментарии – DreadHeadedDeveloper