Die erste for-Schleife geht ja nur bis <=6, das heißt es müssen doch genau 6 mal z in der Ausgabe sein....
Aber die innere Schleife geht ja immer von 1 bis x. Kann man vielleicht sich so vortellen
x y out
1 1 z
2 1 zz
2 zzz
3 1 zzzz
2 zzzzz
3 zzzzzz
4 noch 4 mal z dazu
5 noch 5 mal z dazu
6 noch 6 mal z mal
müssten dann am Ende 1+2+3+4+5+6 = 21 z da stehen.
2. stimmt wohl, allerdings findet der Check eingangs statt.