팩토리얼 값이 long으로도 감당?할수 없어서 BigInteger클래스를 사용한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(reader.readLine());
BigInteger result=new BigInteger("1");
for(long i=1;i<=n;i++){
result=result.multiply(BigInteger.valueOf(i));
}
String a=String.valueOf(result);
long count=0;
for(int i=a.length()-1;i>0;i--){
if(a.charAt(i)=='0'){
count++;
}else{
break;
}
}
System.out.println(count);
}
}
'코딩문제' 카테고리의 다른 글
[백준알고리즘] 유기농 배추 (DFS) (0) | 2018.03.23 |
---|---|
[백준알고리즘]2178 미로 탐색 (BFS) (0) | 2018.03.23 |
[코드그라운드] 프리랜서 (DP) (0) | 2018.03.23 |
[백준알고리즘] 1로 만들기 (DP) (0) | 2018.03.23 |
[백준알고리즘] 단지번호붙이기 (DFS) (0) | 2018.03.23 |