Число Эйлера(математическая константа) с java .my код работает неправильно.
Я хочу написать java-код, который мог бы посчитать число Эйлера e = 2.718281828459...) ,
e= Сигма(k=от 0 до n) 1/n!
Команда задает число n в приведенной выше формуле.
У меня есть две проблемы :
1. Я думаю, что мой метод Эйлера не corrct .
2. как я должен виртировать свой код, чтобы вывести приближенное число, округленное до ближайших четырех (или каких-то еще) десятичных знаков.
Что я уже пробовал:
<pre>package edu.kit.informatik; import java.util.Scanner; public class Main { // Main Method public static void main(String[] args) { System.out.println("type a number"); Scanner input = new Scanner(System.in); int n = input.nextInt(); System.out.println(euler(n)); } // factorial Method public static int factorial(int n) { for (int i = 0; i <= n; i++) { if (n == 0) return 1; else return n * factorial(n - 1); } return factorial(n); } // Euler public static double euler(int n) { double sum = 0.0; for (int i = 0; i <= n; i++) { sum += 1 / factorial(i); return sum; } return euler(n); } }