16 lines · c
1S3(2, 1);2S1(3, 1);3for (int c0 = 4; c0 <= M + 1; c0 += 1) {4 S1(c0, 1);5 for (int c1 = 2; c1 < (c0 + 1) / 2; c1 += 1)6 S2(c0, c1);7 if (c0 % 2 == 0)8 S4(c0, c0 / 2);9}10for (int c0 = M + 2; c0 <= 2 * M; c0 += 1) {11 for (int c1 = -M + c0; c1 < (c0 + 1) / 2; c1 += 1)12 S2(c0, c1);13 if (c0 % 2 == 0)14 S4(c0, c0 / 2);15}16