Lecture Notes 07 July 2014 import java.util.*; public class Func { public static int sumDigits (int n) { int sum = 0; while (n > 0) { sum += n % 10; n = n / 10; } return sum; } public static int revNum (int n) { int rev_num = 0; while (n > 0) { rev_num = rev_num * 10 + (n % 10); n = n / 10; } return rev_num; } public static boolean isPalindromic (int n) { return (n == revNum (n)); } public static int sumDiv (int n ) { int sum_div = 0; int limit = n / 2; for (int i = 1; i <= limit; i++) { if (n % i == 0) sum_div += i; } return sum_div; } public static boolean isPrime (int n) { int limit = (int) (Math.sqrt (n)) + 1; for (int i = 2; i < limit; i++) { if (n % i == 0) { return false; } } return true; } public static void main (String[] args) { /* // Create a Scanner object Scanner sc = new Scanner (System.in); // Prompt the user to enter a positive number System.out.print ("Enter a number: "); // Read the number int n = sc.nextInt(); // Sum the digits of the number System.out.println ("Sum digits = " + sumDigits (n)); // Reverse the number System.out.println ("Reverse number = " + revNum(n)); // Check if the number is palindromic if (isPalindromic (n)) System.out.println (n_orig + " is palindromic"); else System.out.println (n_orig + " is not palindromic"); // Sum divisors of a number if (n == sumDiv (n)) System.out.println (n + " is a perfect number"); else System.out.println (n + " is not a perfect number"); // Test if the number is prime if (isPrime (n)) System.out.println (n + " is prime"); else System.out.println (n + " is not prime"); */ // obtain amicable numbers less than 10000 for (int p = 1; p < 10000; p++) { int sumP = sumDiv (p); for (int q = p + 1; q < 10000; q++) { int sumQ = sumDiv (q); if ((p == sumQ) && (q == sumP)) { System.out.println (p + " " + q); } } } } }