# syntax: GAWK -f MOBIUS_FUNCTION.AWK # converted from Java BEGIN { printf("first 199 terms of the mobius sequence:\n ") for (n=1; n<200; n++) { printf("%3d",mobius(n)) if ((n+1) % 20 == 0) { printf("\n") } } exit(0) } function mobius(n, i,j,mu_max) { if (n in MU) { return(MU[n]) } mu_max = 1000000 for (i=0; i 0) { MU[i] = -1 } } return(MU[n]) }