Source of NumberOfDigitsDivisibleBy3.java


  1: //NumberOfDigitsDivisibleBy3.java
  2: 
  3: public class NumberOfDigitsDivisibleBy3
  4: {
  5:     public static void main(String[] args)
  6:     {
  7:         System.out.println("\nTesting numberOfDigitsDivisibleBy3() ...");
  8:         System.out.print(numberOfDigitsDivisibleBy3(123456));
  9:         System.out.println();
 10:         System.out.print(numberOfDigitsDivisibleBy3(363639));
 11:         System.out.println();
 12:         System.out.print(numberOfDigitsDivisibleBy3(124578));
 13:         System.out.println();
 14:         System.out.print(numberOfDigitsDivisibleBy3(100008));
 15:         System.out.println();
 16:         System.out.print(numberOfDigitsDivisibleBy3(0));
 17:         System.out.println();
 18:         System.out.print(numberOfDigitsDivisibleBy3(9));
 19:         System.out.println();
 20:         System.out.print(numberOfDigitsDivisibleBy3(12));
 21:         System.out.println();
 22:     }
 23: 
 24:     //Computes and returns the number of digits in n that are divisible by 3
 25:     public static int numberOfDigitsDivisibleBy3(int n)
 26:     {
 27:         if (n < 10)
 28:         {
 29:             return (n % 3 == 0) ? 1 : 0;
 30:         }
 31:         else
 32:         {
 33:             return numberOfDigitsDivisibleBy3(n / 10)
 34:                  + numberOfDigitsDivisibleBy3(n % 10);
 35:         }
 36:     }
 37: }