это мое первое общение с этим сайтом, я слышал хорошие новости и надеюсь, что смогу найти ответ, который ищу.Я изучаю Java и использую Eclipse IDE на уроке информатики в моей школе, и я столкнулся с проблемой, которую ни мой учитель, ни я не можем решить.Вот инструкции.
"Немецкий математик Готфрид Лейбниц разработал следующий метод для аппроксимации значения π.
π / 4 = 1 - 1/3 + 1/5 -1/7 + ...
Напишите программу, которая позволяет пользователю указывать число, если итерации используются в этом приближении, и отображает полученное значение. "
Теперь код.
import java.util.Scanner;
public class GottfriedLeibnizPi {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("Enter how many iterations you want to go to: ");
int iterations = reader.nextInt();
double pi = 0;
if (iterations >= 0) {
for (int count = 0; count <= iterations - 1; count++) {
System.out.println("pi: " + pi + " count: " + count); //debug statement to show pi and count before running the code
if (count % 2 == 0) {
pi = pi + (1 / (1 + (2 * count))); // first to run. starts at pi + 1 and every other loop adds 1/(1+2n)
} else {
pi = pi - (1 / (1 + (2 * count))); // first to run. starts at pi - 1/3 and every other loop subtracts 1/(1+2n)
}
System.out.println("pi: " + pi + " count: " + count + "\n"); //debug statement to show pi and count after running the code
}
pi = pi * 4; //obtains the true value of pi
System.out.println("The value of pi after " + iterations + " iterations is " + pi);
} else {
System.out.println("Please enter a non-negative number");
}
}
}
Вот выходные данные с операторами отладки, если я введу пять в приглашении.
Enter how many iterations you want to go to: 5
pi: 0.0 count: 0
pi: 1.0 count: 0
pi: 1.0 count: 1
pi: 1.0 count: 1
pi: 1.0 count: 2
pi: 1.0 count: 2
pi: 1.0 count: 3
pi: 1.0 count: 3
pi: 1.0 count: 4
pi: 1.0 count: 4
Значение pi после 5 итераций равно 4,0
Моя математика говорит, что ответ должен быть 3.3396 ... но математика в моем цикле, кажется, выполняется не более одного раза.Здесь я не нашел ничего похожего на мою проблему, кто-нибудь знает, что не так?