/* Reproduce prime_cut2.c on stdout. */ #include static const char *kDictionary[] = { /*P*/ "/*/A", /*Q*/ "define", /*R*/ "#include", /*S*/ "#if", /*T*/ "#endif", /*U*/ "ndefD", /*V*/ "PSD0P#uU", /*W*/ "R", /*X*/ "SUoPA", /*Y*/ "P#uUO", /*Z*/ "#QD_DB", /*[*/ "PintDmain(void){returnDputs(_)<0;}", }; /* Recursively output dictionary compressed string. */ static void Output(const char *p) { int c; for(; (c = *p); p++) { c >= 'P' && c <= '[' ? Output(kDictionary[c - 'P']), 0 : putchar(c >= 'A' && c <= 'D' ? c * 24 % 50 : c); } } int main(void) { int i, j; /* Output header. */ Output("/*AZoneBPXXWPW"); /* Output middle detector lines. */ for(i = 8; i < 9973; i++) { for(j = 2; j < i && i % j; j++) {} Output(j < i ? "A" : "P"); } /* Output footer. */ Output("/*/ZcompositeBAPSU_AZprimeBAT/P#QDoPPRD__FILE__ASD!Qd(o)&&Qd(O)V_AZ?BAPT/*/T/P/*/T/[[/PTPTYYPSD__LINE__==9994Vo/PT/*ATP#QDO/P"); return 0; }