Monday, 24 February 2014

UVA Problem ID 10220 (I Love Big Numbers!)

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 br=new BufferedReader(new InputStreamReader(System.in));
  StringBuilder sb=new StringBuilder(10000);
  String input;
  while((input=br.readLine())!=null)
  {
   int n=Integer.parseInt(input.trim());
   String fac=factorial(new BigInteger(n+"")).toString();
   
   int sum=0;
   for (int i = 0; i < fac.length(); i++) {
    sum=sum+fac.charAt(i)-48;
   }
   sb.append(sum+"\n");
  }
  System.out.print(sb);
 }
 public static BigInteger factorial(BigInteger n)
 {
  if(n.intValue()==0 || n.intValue()==1)
   return BigInteger.ONE;
  else
  {
   return n.multiply(factorial(n.subtract(BigInteger.ONE)));
  }
 }
}

Previous Post
Next Post

0 comments:

Advertisement