Ich verstehe den Algorythmus zwar nicht komplett, aber wenn ich davon ausgehe, dass du positive Integer Werte eingeben wirst, so werden deine For-Schleifen nie durchlaufen, da die Bedingung (a < 1) nicht erfüllt wird. Das bedeuted ebenfalls, dass z nie auf false gesetzt wird und die Schleife abgebrochen wird.

edit:
Es muss fast daran liegen, denn wenn du negative Int Werte eintippst werden sich deine For-Schleifen aufhängen. Deswegen versuche mal a > 1 als Abbruchbedinung der For-Schleifen.