/*
 * "Grundkurs Programmieren in Java - Band 1 (3. Auflage, 2006)I"
 * 2001-2006, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe (Version 3.0)
 * (c) 2001-2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 */

import Prog1Tools.IOTools;

public class Befreundet {


  public static void main (String[] args) {

    char antwort;
    int a, b;
    int teilersummeA, teilersummeB;

    do {  // Hauptschleife

      a = IOTools.readInteger("\nErste  Zahl > ");
      b = IOTools.readInteger(  "Zweite Zahl > ");

      // Teilersumme von a berechnen
      teilersummeA = 0;
      for (int i = 1; i < a; i++)
        if (a % i == 0)
          teilersummeA += i;

      //Teilersumme von b berechnen
      teilersummeB = 0;
      for (int i = 1; i < b; i++)
        if (b % i == 0)
          teilersummeB += i;


      if ( (teilersummeA == b) && (teilersummeB == a) )
        System.out.println("Die beiden Zahlen sind miteinander befreundet!");
      else
        System.out.println("Die beiden Zahlen sind NICHT miteinander befreundet!");

      antwort = IOTools.readChar("Noch eine Berechnung? (J/N) ");
    } while ((antwort == 'j') || (antwort == 'J'));
  }
}

/*

Loesungshinweis:

Hier einige Paare befreundeter Zahlen zur Ueberpruefung von
abgegebenen Programmen:

  220      284     
 1184     1210    
 2620     2924    
 5020     5564    
 6232     6368    
10744    10856   
12285    14595   
17296    18416   

*/
