- 483 名前:448 mailto:sage [02/07/12 18:45]
- >>480
縮めてみました。 #include <stdio.h> typedef unsigned U;U*x,X=128,i,j,a=256,t[256],l,M=1,k;FILE*f;W(U n){for(i=4;i-- ;)fputc(n>>i*8,f);}S(U*b,U n){W(n-4);for(i=~0;n--;i=t[i%a^*b++%a]^i/a)fputc(*b, f);W(~i);}main(){U h[17]={73,72,68,82,0,0,0,X,0,0,0,X,8,2},d[1<<18]={73,68,65, 84,120,218,1,l=X+X*X*3,l/a,~l,~l/a};f=fopen("mona.png","wb");for(i=a;i--;k=l/X) for(k=i,j=9;--j;x=d+11)t[i]=k=k/2^(k&1?0xedb88320:0);W(0x89504e47);W(0xd0a1a0a) ;for(S(h,17);l;l--)j+=M+=*x++=l%k?l%a:0,M%=i=65521,j%=i;*x++=j/a;*x++=j;*x++=M/ a;*x++=M;S(d,x-d);W(0);fputs("IEND\256B`\202",f);}
|

|