https://school.programmers.co.kr/learn/courses/30/lessons/120848
1씩 더한 값을 곱해가면서 n을 넘는지 체크한다.
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 1;
int a = 1;
while(1)
{
++answer;
if(a * answer > n)
{
answer--;
return answer;
}
else
a *= answer;
}
return answer;
}
#include <string>
#include <vector>
using namespace std;
int factorial(int n)
{
if(n == 0 || n == 1)
return 1;
else
return n*factorial(n-1);
}
int solution(int n) {
int i = 0;
while(factorial(i) <= n)
i++;
i--;
return i;
}
팩토리얼을 재귀함수로 구현해놓고 사용하였다.