로봇이 되고픈 부엉이

(C 언어) e 값 계산하기 본문

대학생의 그쩍거림/C 언어

(C 언어) e 값 계산하기

탈모탈모대작전 2019. 4. 14. 20:51
728x90
반응형

교수님께서 우리에게 함수 원형과 재귀함수 호출을 연습시키실 생각이시다.

 

사실 재수강이어도, 재귀함수는 조금 이해하기 어렵다.

이번 기회에 확실히 이해하게 되어 다행이지만, 시험에 나온다면 또 어떻게 될지 모르는 법...

아무튼 문제는 다음과 같다.

 

"

오일러의 수 e 는 다음과 같은 방식으로 근사치를 구할 수 있다.

e = 1 + 1/1! + 1/2! + 1/3! + ..... + 1/n!

위 e를 구하는 함수를 만들어 보자.

"

 

예시는 다음과 같다.

"

n = 5

e의 근사치 = 2.716667

 

n = 10

e의 근사치 = 2.718282

"

#include<stdio.h>


long long factorial(int num) {
	if (num == 1) {
		return 1;
	}
	return num * factorial(num - 1);
}
double calcuE(int n) {
	if (n == 1) {
		return 2;
	}

	return (double)(1 / (double)factorial(n)) + calcuE(n - 1);
}

int main() {
	int n;
	double e;

	printf("오일러의 수 e 계산을 위한 n을 입력 : ");
	scanf("%d", &n);
	
	e = calcuE(n);
	printf("e의 근사치값 : %f", e);


	return 0;
}
728x90
반응형