#!/usr/bin/tcc -run #include #include #define For(V, A, B) for(int V = (A); V <= (B); V++) #define Back(V, A, B) for(int V = (A); V >= (B); V--) void put(int c) { putchar(c < 10 ? '0' + c : 'a' + c - 10); } void row(int a, int b, int i) { For (j, 1, b - i) putchar(' '); For (j, a, i) put(j); Back (j, i - 1, a) put(j); putchar('\n'); } int main(int argc, char *argv[]) { int a = 1, b = 9; if (argc > 1) b = atoi(argv[1]); if (argc > 2) a = b, b = atoi(argv[2]); For (i, a, b) row(a, b, i); Back (i, b - 1, a) row(a, b, i); return 0; }