[Java] 자바 팩토리얼을 구해보자! / 1! + 2! + 3! . . . . + 10!의 합은?

2020-09-04


 


팩토리얼 정의

 

수학에서, 자연수의 계승 또는 팩토리얼(階乘, 문화어: 차례곱, 영어: factorial)은

그 수보다 작거나 같은 모든 양의 정수의 곱이다.

n이 하나의 자연수일 때,

1에서 n까지의 모든 자연수의 곱을 n에 상대하여 이르는 말이다. 

출처: 위키피디아

 

 

위와 같은 팩토리얼을 자바의 반복문인 for 과 while을 통해서

구해보도록  해보겠습니다!


for문 사용  소스코드

 

※ 특정 숫자의 팩토리얼을 알고 싶다면, i 의 범위 값을 조절하면 된다.

ex) 5! 값은 i 값을 5로 바꾼뒤에  temp 출력

   / 5! 까지의 합은 sum 출력

		int temp = 1;
		//각 i에 다른 팩토리얼이 저장되는 값
		// ex) i = 2 → 2!
		int sum = 0;
		//각 팩토리얼이 더해지는 값
		
		for(int i = 1; i<= 10; i++) {
			temp = temp * i;
			sum = sum + temp;
		}
		
		System.out.println(sum);
		//10!만 구하고 싶다면 temp 값을 이용하면된다.

출력값 : 4037913


while문 사용  소스코드

 

※ 특정 숫자의 팩토리얼을 알고 싶다면, i 의 범위 값을 조절하면 된다.

ex) 5! 값은 i 값을 5로 바꾼뒤에  temp 출력

   / 5! 까지의 합은 sum 출력

 

		int temp = 1;
		//각 i에 다른 팩토리얼이 저장되는 값
		// ex) i = 2 → 2!
		int sum = 0;
		//각 팩토리얼이 더해지는 값
		int i = 0;
		//10까지 증가할 팩토리얼 값
		
		do {
			i++;
			temp = temp * i;
			sum = sum + temp;
		}while(i < 10);
		
		System.out.println(sum);
		//10!만 구하고 싶다면 temp 값을 이용하면된다.

출력값 : 4037913