Counting trailing zeros of numbers resulted from factorial

后端 未结 10 1583
北荒
北荒 2020-11-30 07:48

I\'m trying to count trailing zeros of numbers that are resulted from factorials (meaning that the numbers get quite large). Following code takes a number, compute the facto

10条回答
  •  有刺的猬
    2020-11-30 08:38

    This is how I made it, but with bigger > 25 factorial the long capacity is not enough and should be used the class Biginteger, with witch I am not familiar yet:)

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        System.out.print("Please enter a number : ");
        long number = in.nextLong();
        long numFactorial = 1;
    
        for(long i = 1; i <= number; i++) {
            numFactorial *= i;
        }
        long result = 0;
        int divider = 5;
        for( divider =5; (numFactorial % divider) == 0; divider*=5) {
             result += 1;
        }
    
        System.out.println("Factorial of n is: " + numFactorial);
        System.out.println("The number contains " + result + " zeroes at its end.");
    
        in.close();
    
     }
    
    }
    

提交回复
热议问题