Lecture Notes on 03 Oct 2011 // Get the largest gap between palindromic years intialize maxGap to 0 initialize begYear to 0 intialize endYear to 0 intialize lastPalYear to 0 intialize gap to 0 loop year from 1 to 2011 inclusive if year is palindromic set gap = year - lastPalYear if gap is greater than maxGap then set maxGap to gap set begYear to lastPalYear set endYear to year end if set lastPalYear to year end if end loop print maxGap print begYear and endYear // get two digit number that becomes palindromic with maximum number of steps initialize maxSteps to 0 initialize maxNum to 0 initialize steps to 0 loop num from 10 to 99 inclusive initialize revSum to num set steps to 0 while revSum is not palindromic do increment steps set revSum = revSum + reverse of revSum end while if steps is greater than maxSteps then set maxSteps = steps set maxNum = num end if end loop print maxNum print maxSteps public class Quiz4 { public static long revNum (long n) { long rev_num = 0; while (n > 0) { rev_num = rev_num * 10 + (n % 10); n = n / 10; } return rev_num; } public static boolean isPalindromic (long n) { return (n == revNum(n)); } public static void main (String[] args) { // biggest gap between palindromic years int max_gap = 0; int beg_year = 0; int end_year = 0; int last_pal_year = 0; int gap = 0; for (int year = 1; year <= 2011; year++) { if (isPalindromic (year)) { gap = year - last_pal_year; if (gap >= max_gap) { max_gap = gap; beg_year = last_pal_year; end_year = year; } last_pal_year = year; } } System.out.println ("The largest gap was: " + max_gap); System.out.println ("The years were: " + beg_year + ", " + end_year); // palindromic sum long max_num = 0; long max_steps = 0; long steps = 0; for (long num = 10; num <= 99; num++) { long sum_num = num; steps = 0; while (!isPalindromic(sum_num)) { steps++; sum_num = sum_num + revNum (sum_num); } if (steps > max_steps) { max_steps = steps; max_num = num; } } System.out.println ("The number is: "+ max_num); System.out.println ("The number of steps is: " + max_steps); } }