//NumberOfTimes2ndDivides1st.java

public class NumberOfTimes2ndDivides1st
{
    public static void main(String[] args)
    {
        System.out.println("\nTesting numberOfTimes2ndDivides1st() ...");
        System.out.print(numberOfTimes2ndDivides1st(72, 6));
        System.out.println();
        System.out.print(numberOfTimes2ndDivides1st(0, 16));
        System.out.println();
        System.out.print(numberOfTimes2ndDivides1st(43, 97));
        System.out.println();
        System.out.print(numberOfTimes2ndDivides1st(125, 5));
        System.out.println();
        System.out.print(numberOfTimes2ndDivides1st(1024, 2));
        System.out.println();
        System.out.print(numberOfTimes2ndDivides1st(12, 1));
        System.out.println();
    }

    //Computes and returns the number of times n divides evenly into m
    public static int numberOfTimes2ndDivides1st
    (
        int m,
        int n
    )
    {
        if (m == 0) return 1;
        if (n == 1) return 1;
        if (m % n != 0)
            return 0;
        else //m % n == 0
            return 1 + numberOfTimes2ndDivides1st(m / n, n);
    }
}

