(10 ^ 7)! 의 자리수를 어떻게 구할 수 있을까?

- log를 이용하면 자리수를 쉽게 구할 수 있다.

log1010 = 1, 

log10100 = 2,

log101000 = 3

...

이렇게 log는 자리수를 나타 낼 수 있다.

이를 이용하여

팩토리얼의 자리수를 구한다면,

10! 은 1*2*3*4*5*6*7*8*9*10이다.

1*2 = 2;

2*3 = 6

6*4 = 24

24*5 = 120

120 * 6 = 720

720 * 7 = 5040

5040 * 8 = 40320

40320 * 9 = 362880

362880 * 10 = 3628800

이렇게 7자리 수가 된다.

하지만 이렇게 구한다면 10^7 팩토리얼의 자리수인 65657060 자리수를 표현해야한다.

long long형을 사용하여도 9223372036854775807i64(8바이트,64비트)까지 밖에 표현 못한다.

이때 log를 이용하여 팩토리얼 계산시 자리수를 double 형으로 계산한다면 10^7의 값인 천만 팩토리얼의 자리수도 연산가능하다.

(정확히 개념이 이해가 되질 않지만, 일단 적어본다...ㅜㅜ)

Posted by *me
: