본문 바로가기

알고리즘/해커랭크

[해커랭크] Extra Long Factorials [JAVA]

문제링크: www.hackerrank.com/challenges/extra-long-factorials/problem

 

Extra Long Factorials | HackerRank

Calculate a very large factorial that doesn't fit in the conventional numeric data types.

www.hackerrank.com

문제 이름을 보고서 처음에는 페르마의 소정리 등을 사용한 문제라 생각했는데 

나눈 나머지 값을 구하라는 얘기가 없어서 어떻게 푸나 했다.

BigInteger라는 것을 검색해서 처음 알게됐고 그대로 써봤더니 풀렸다.

static void extraLongFactorials(int n) {
        BigInteger ans = BigInteger.valueOf(1);        
        while(n!=1){
            
            ans = ans.multiply(BigInteger.valueOf(n));
            n--;
        }
        System.out.println(ans);
    }