import java.util.Scanner;
// 실기 유사 문제들 3번
// 오일러 수 계산하는 수식 구현
// e = 1 + 1/1! + 1/2! + 1/3! ... 1/20! = 2.71828
// 팩토리얼 메소드 만들기
// 조건) long factorial(int n) 메소드 활용
public class Test01 {
public static void main(String[] args) {
double e = 1.0;
int i;
for (i=1; i<=20; i++)
e += 1.0/factorial(i);
System.out.println(e);
}
// 오버플로 체크하기 체크 안하면 70점
static long factorial(int n) {
long fact = 1;
int i;
for (i=1; i<=n; i++)
if (fact*i/i == fact)
fact *= i;
else
return -1;
return fact;
}
}
댓글 없음:
댓글 쓰기