Uva 324 – Factorial Frequencies

Problem:- http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=260

Solution :-

java code:


import java.util.Scanner;
import java.math.BigInteger;
class Main
{
    public static void main(String[] args)
    {
        Scanner in=new Scanner(System.in);
        while(in.hasNext())
        {
             BigInteger f=BigInteger.ONE;
             BigInteger s=BigInteger.ZERO;
            int n=in.nextInt();
            if(n==0)
             break;
            int a=0,b=0,c=0,d=0,e=0,k=0,g=0,h=0,p=0,j=0;
            for(int i=1;i<=n;i++)
            {
                f=f.multiply(BigInteger.valueOf(i));
            }
            while(f.compareTo(BigInteger.ZERO)==1)
            {
                s=f.mod(BigInteger.TEN);
                if(s.compareTo(BigInteger.ZERO)==0)
                    a++;
                else if(s.compareTo(BigInteger.ONE)==0)
                    b++;
                else if(s.compareTo(BigInteger.valueOf(2))==0)
                    c++;
                  else if(s.compareTo(BigInteger.valueOf(3))==0)
                    d++;
                  else if(s.compareTo(BigInteger.valueOf(4))==0)
                    e++;
                  else if(s.compareTo(BigInteger.valueOf(5))==0)
                    k++;
                  else if(s.compareTo(BigInteger.valueOf(6))==0)
                    g++;
                  else if(s.compareTo(BigInteger.valueOf(7))==0)
                    h++;
                  else if(s.compareTo(BigInteger.valueOf(8))==0)
                    p++;
                  else if(s.compareTo(BigInteger.valueOf(9))==0)
                    j++;
                f=f.divide(BigInteger.TEN);

            }

System.out.println(n+”! –“);
System.out.println(”    (0)    “+a+”    (1)    “+b+”    (2)    “+c+”    (3)    “+d+”    (4)    “+e);
System.out.println(”    (5)    “+k+”    (6)    “+g+”    (7)    “+h+”    (8)    “+p+”    (9)    “+j);
            
        }
    }

}

At First you can try to solve this problem if you can’t than see this code & find what’s your problem . If you copy paste this code you could not improve yourself in programming .

2 Comments

  1. sir , If you tell me the solution idea of this problem in c++ it will be very helpful as i am not familiar with big integer.
    Reply
    • There are many solution who solved this problem using C++. But in JAVA it’s really easy to solve. Both language you can try it. Thanks
      Reply

Leave a Reply

%d bloggers like this: