/* Lösung der Aufgabe 4-3:
  Bestimmen Sie alle dreistelligen Zahlen, die durch alle ihre Ziffern teilbar sind.

  Der Lösungsansatz ist ein reines Probierverfahren. Wir gehen einfach alle dreistelligen
  Zahlen (100 - 999) durch, bestimmen die in der Zahl vorkommenden Ziffern und
  prüfen die Teilbarkeit.

*/

#include <stdio.h>

#define TRUE  1
#define FALSE  0

int main(void)
{
  int zahl;        // die Zahl
  int ziffer[3];   // die einzelnen Ziffern
  int z;           // Hilfszahl während Zerlegung
  int i;
  int teilbar;
  int zeilen = 0;

  for (zahl = 100; zahl < 1000; zahl++) {

    ziffer[2] = zahl / 100;  // Hunderter Stelle, Ganzzahldivision !!
    z = zahl % 100;
    ziffer[1] = z / 10;
    ziffer[0] = z % 10;
    teilbar = TRUE;
    for (i = 0; i < 3; i++) {
      if (ziffer[i] != 0)
        teilbar = teilbar && zahl % ziffer[i] == 0;
    }
    if (teilbar) {
      printf("%3i\n", zahl);
      zeilen++;
      if (zeilen % 20 == 0) {
        printf("Weiter mit Eingabetaste!\n");
        getchar();
      }
    }

  } // end for

  return 0;
}