2007 Self Divisor
<< 2008Checker | APQuestionsTrailIndex | 2007StudentAnswerSheet >>
An integer is a "self-divisor" if every decimal digit is a divisor of the number.
For example, 128 is a self divisor since 1 divides 128, 2 divides 128, and 8 divides 128.
26 on the other hand is not a self-divisor. 2 does divide 26, but 6 does not divide 26.
Because you can't divide by zero, and number that has a zero in it like 1024, can never be a self-divisor
SelfDivisor
public class SelfDivisor { /** @param number the number to be tested * Precondition: number > 0 * @return true if every decimal digit of number is a divisor of number; * false otherwise */ public static boolean isSelfDivisor(int number) { //part a here } /** @param start starting point for values to be checked * Precondition: start > 0 * @param num the size of the array to be returned * Precondition: num > 0 * @return an array containing the first num integers >= start that are self-divisors */ public static int[] firstNumSelfDivisors(int start, int num) { //part b here } /****************/ public static void main (String[] args) { System.out.println("Is 128 a self divisor (should be true): " + isSelfDivisor(128)); System.out.println("Is 26 a self divisor (should be false): " + isSelfDivisor(26)); System.out.println("Is 1024 a self divisor (should be false): " + isSelfDivisor(1024)); System.out.println("Is 15 a self divisor (should be true):" + isSelfDivisor(15)); System.out.println("The first 3 self divisors greater or equal to 10 (should be 11,12,15):"); for (int n : firstNumSelfDivisors(10, 3)) System.out.print(n + " "); System.out.println(); } }