Trailing_zeros_in_factorial

 




Method 1:

public class j05_trailing_zeros_in_factorial {

    static int countTrailingZeros(int n){
        int ans = 0;
        for (int i = 5; i < n; i=i*5) {
            ans = ans+n/i;
        }
        return ans;
    }

    public static void main(String[] args) {
        int number = 251;
        System.out.println(countTrailingZeros(number));
    }
}


Method 2:

public class j05_trailing_zeros_in_factorial {

    static int countTrailingZeros(int n){
        int ans = 0;
        for (int i = 5; i < n; i=i*5) {
            ans = ans+n/i;
        }
        return ans;
    }

    static int fact(int n){
        int fact = 1;
        for (int i = 2; i <= n; i++) {
            fact = fact*i;
        }
        return fact;
    }

    static int countTrailingZeros(int n){
        int ans=0;
        long fact = fact(n);
        while(fact%10==0){
            ans++;
            fact=fact/10;
        }
        return ans;
    }

    public static void main(String[] args) {
        int number = 251;
        System.out.println(countTrailingZeros(number));
    }
}


Comments

Popular Post

Define a class to represent a Bank Account. Include the following members: Data Members: i. Name of the depositor ii. Account number iii. Type of account iv. Balance amount in the account Member Functions: 1. To Input initial values 2. To deposit an amount 3. To withdraw an amount after checking the balance 4. To display name and balance Also write constructor for this class that takes four arguments. It should also handle type of account as savings by default