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.