#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
Комментариев нет:
Отправить комментарий