2014년 7월 9일 수요일

7894 큰 숫자

n 팩토리얼의 자리수를 구하는 문제이다.
팩토리얼은 수가 기하급수적으로 커지기 때문에, 실제로 계산해서 변수로 집어넣는 것은 무리다. 따라서 자리수를 알아내는 방법으로 log 를 사용한다.
임의의 숫자 n 의 자리수는 ceil(log10(n))으로 결정된다.
따라서 n 팩토리얼의 자리수는 ceil(log10(n!)) 으로 알 수 있다.
우리는 실제 n!을 구할 수는 없기 때문에,
log의 성질을 이용하여 ceil(log10(n)+log10(n-1)...+log10(1)) 의 방법으로 답을 구하면 된다.

소스

댓글 없음:

댓글 쓰기