#java #математика #условия #точность
Условие: Написать программу, вычисляющую число с точностью, задаваемой пользователем.
Известно, что сумма ряда 1-1/3+1/5-1/7+1/9-…приближается к значению pi/4 при достаточно
большом количестве членов ряда.
public class Class {
public static void main(String[] args) {
double a = 3;
double sum=1;
for (int i=0;i<1000;i++){
if (i%2==0){
sum=sum-1/a;
}
if (i%2!=0){
sum=sum+1/a;
}
a+=2;
}
double pi=sum*4;
System.out.println(pi);
}
}
Само pi я рассчитал, но как задать количество знаков после запятой?
Ответы
Ответ 1
Можно вот так: String.format("%.2f", value); Взято из: https://stackoverflow.com/a/1276096/2871225Ответ 2
От вас требуется не вывести число с определенным количеством знаков, а посчитать с определенной точностью. Ваш алгоритм делает фиксированное количество шагов for (int i=0;i<1000;i++) А должен останавливаться при достижении нужной точности, например так while (Math.abs(1 / a) > e) где e - введенное пользователем число, например 0.0001
Комментариев нет:
Отправить комментарий