좋아, C에 또 하나 있는데, 모호하게 정의 된 보너스 포인트가 있습니다.
#define a(x) x,x|1,x|2,x|3,x|4,x|5,x|6,x|7
#define b(x) a(x),a(x|8),a(x|16),a(x|24)
#define c(x) b(x),b(x|32),b(x|64),b(x|96)
#define d(x) c(x),c(x|128),c(x|256),c(x|384)
#define e(x) d(x),d(x|512),d(x|4<<8),d(x|6<<8)
#define f(x) e(x),e(x|2048),e(x|4096),e(x|6144)
#define g(x) f(x),f(x|8192),f(x|4<<12),f(x|6<<12)
#define h(x) g(x),g(x|2<<14),g(x|4<<14),g(x|6<<14)
#define i(x) h(x),h(x|2<<16),h(x|4<<16),h(x|6<<16)
#define j(x) i(x),i(x|2<<18),i(x|4<<18),i(x|6<<18)
#define k(x) j(x),j(x|2<<20),j(x|4<<20),j(x|6<<20)
int u,v,z[]={k(0),k(2<<22),k(4<<22),k(6<<22)}
int main(){for(u=v=0;u<1<<25;u++)v|=u!=z[u];return v;}
기본적으로 컴파일 타임에 0에서 2 25 − 1 사이의 정수로 오름차순 시퀀스를 빌드합니다 . 런타임시, 시퀀스에 실제로 예상 값이 포함되어 있는지 확인하고, 그렇지 않은 경우 0이 아닌 오류 코드를 리턴합니다.
추신. 수학을 제대로했다면 실행 파일은 100MiB 이상이어야합니다. 컴파일이 완료되면 정확한 크기를 알려 드리겠습니다.