본문 바로가기
코딩 테스트

[구름 IDE] 큰 팩토리얼 구하기

by 주연배 2024. 1. 3.

 

팩토리얼

팩토리얼은 1부터 N(지정해준 수)까지의 수를 모두 곱하는 것이다.

예를 들어서 N이 5라고 치면 1부터 5까지의 값을 모두 곱한 1X2X3X4X5 = 120이 되는 것을 말한다.


변수 선언

	int n;
	int s = 1000000007; //나눈 값
	unsigned long long result =1; //결과값

 

이때, result의 결과값이 매우 크기 때문에 unsigned long long을 사용하여 메모리 값이 큰 아이로 지정해줬다. 

 

	for(int i=1; i<=n; i++){
		result = (result*i) % s;
		 
	}

 

 

팩토리얼은 1부터 N까지의 수를 모두 곱하는 것이므로!

i = 1부터 시작해서 n까지 반복시켜준다.

 

for(int i=1; i<=n; i++){
		result = (result*i) % s;
		 
	}
	 printf("%llu",result);

 

이 문제가 원하는 것은 N!(팩토리얼)을 1000000007로 나눈 나머지를 출력하는 것이므로 result에다가 (result*i) %s 값을 주고, for문 밖에다가 result를 출력해주면 된다.

여기서 주의할 점은 result값을 unsigned long long으로 지정했으므로 출력했을 때 출력 형태를 %llu로 해줘야 된다

 

 

끝!