Source of NumberOfTimes2ndDivides1st.java


  1: //NumberOfTimes2ndDivides1st.java
  2: 
  3: public class NumberOfTimes2ndDivides1st
  4: {
  5:     public static void main(String[] args)
  6:     {
  7:         System.out.println("\nTesting numberOfTimes2ndDivides1st() ...");
  8:         System.out.print(numberOfTimes2ndDivides1st(72, 6));
  9:         System.out.println();
 10:         System.out.print(numberOfTimes2ndDivides1st(0, 16));
 11:         System.out.println();
 12:         System.out.print(numberOfTimes2ndDivides1st(43, 97));
 13:         System.out.println();
 14:         System.out.print(numberOfTimes2ndDivides1st(125, 5));
 15:         System.out.println();
 16:         System.out.print(numberOfTimes2ndDivides1st(1024, 2));
 17:         System.out.println();
 18:         System.out.print(numberOfTimes2ndDivides1st(12, 1));
 19:         System.out.println();
 20:     }
 21: 
 22:     //Computes and returns the number of times n divides evenly into m
 23:     public static int numberOfTimes2ndDivides1st
 24:     (
 25:         int m,
 26:         int n
 27:     )
 28:     {
 29:         if (m == 0) return 1;
 30:         if (n == 1) return 1;
 31:         if (m % n != 0)
 32:             return 0;
 33:         else //m % n == 0
 34:             return 1 + numberOfTimes2ndDivides1st(m / n, n);
 35:     }
 36: }
 37: