- 1 名前:デフォルトの名無しさん [02/04/15 12:09]
- 7行×79文字なら言語は問いません。
過去作品は>>2-5を参照。 ■前スレ pc.2ch.net/test/read.cgi/tech/984182993/
- 730 名前:デフォルトの名無しさん mailto:sage [02/09/05 22:32]
- FreeBSDのdmesg|head -6を表示
本当はブートシーケンスでバーがくるくる回るところを表示したかったが、 プログラムが長くなっちゃってだめでした。 文章データは前スレのrangecoderをu=128で使用後、8x3=6ビットx4に変更後、+49している。 char t[]="Rm19aKD8`a:GGAa<?Hnn`lc94BhK<oYZa8VOOl=6Ifb1d]f\\`TQfMUiVfa[D`C7fEX?" "=ImOhIg?8AAlTpio4IeKYX9]h3Qh]2cbL1RF^]4]_?9PS8ThmObf:\\1`oih:YG9@c?7?MenXQiQa" "Q=3T`[K<L@T?>34l55Zjj2_dBpMF1npY;GH3@CojA3nYW3XZ8MH5H5\\Na1QV7Cg9jdJU\\@K;MjJ" ":IemMXN]\\9j3]YP78Wf31HU9TVhd58oi8An^AVECjm4LAI7iU:aPOPEB?iK:@_YY9=Recl`]nU<?" "MBU^PWhV[MkS8Pi]d__G<95Ll3pU3`l44l2h[d:794YSYCf]U_g]1^jBUbBO93`V=]",*s=t; unsigned*p,W,O=357,u=128,b=360,a[999],R=~0,x=256;f(){W=W*x|*p++;}main(K){for(p= a+u;*s;)*s++-=49;for(s=t;b>0;b-=4)*p++=s[0]*4|s[1]>>4,*p++=(s[1]<<4|s[2]/4)%x, *p++=(s[2]<<6|s[3])%x,s+=4;p=a+u;for(f(f(f(f())));O--;R*=a[b]){for(K=b=0;R<1<< 24;R*=x)f();for(R/=u++;W/R>=K;K+=a[b++]+1);W-=R*(K-++a[putchar(--b)]);}}
- 731 名前:デフォルトの名無しさん mailto:sage [02/09/05 22:42]
- >>729
7行スレでそんな丁寧なプログラムを書かなくても・・・ つーわけで、今縮め中です。
- 732 名前:731 mailto:sage [02/09/05 23:21]
- >>729
アーカイブのフォーマットを変更しちゃいました。 RLE(>>728)と組み合わせることで、圧縮書庫が7行でできそうですね。 # SEEK_END=2って規定されてましたっけ? #include <stdio.h> char n[256];int i,c;main(int a,char**v){FILE*f,*o;if(a-1)for(putw(a,o=stdout); --a;)for(fseek(f=fopen(v[++i],"rb"),0,SEEK_END),puts(v[i]),putw(ftell(f),o), rewind(f);~(c=getc(f));)putchar(c);else for(a=getw(o=stdin);--a;)for(f=fopen( gets(n),"wb"),c=getw(o);c--;)putc(getchar(),f);}
- 733 名前:デフォルトの名無しさん mailto:sage [02/09/05 23:29]
- >>732
規定されてない。 そもそも、EOF=-1も規定されてないからどっちにしろ処理系依存
- 734 名前:デフォルトの名無しさん mailto:sage [02/09/05 23:35]
- >>733
EOF=-1をこのスレではいつの間にかデフォルトで使ってるよなぁ SEEK_???もデフォルトしちゃえ! ついでにi=i++も!
- 735 名前:デフォルトの名無しさん mailto:sage [02/09/05 23:56]
- >>734 knkタンだ! ((((;゚Д゚)))) ガクガクブルブル
- 736 名前:デフォルトの名無しさん mailto:sage [02/09/06 12:53]
- >>732
SEEK_END=2の使用はデフォルトってことでいいのかな このくらいちぢまればRLE圧縮も組み込めるかな ちぢめすぎてかえって組み込めなくなる罠かもしれない #include <stdio.h> char n[256];int i,c,b;main(a,v)char**v;{FILE*f,*o;b=a-1;for(b?putw(a,o=stdout): (a=getw(o=stdin));--a;){f=fopen(b?v[++i]:gets(n),b?"rb":"wb");for(b?fseek(f,0,2 ),puts(v[i]),putw(ftell(f),o),rewind(f),0:(i=getw(o));b?~(c=getc(f)):i--;)putc( b?c:getc(o),b?o:f);}}
- 737 名前:デフォルトの名無しさん mailto:sage [02/09/06 20:29]
- SEEK_END=2はPOSIXで規定されてたりしなかったっけ
どっちにしろこのスレでは縮むならある程度の処理系依存は 容認の方針だと思うけど
- 738 名前:デフォルトの名無しさん mailto:sage [02/09/06 22:44]
- gccとbcc32で、EOF と SEEK_* が同じだったから、
まぁ、このスレで議論する分には困らないと思われ。 perlだとSEEK_*と0,1,2のどちらを使っても一致することが明記されてるんだけど。
- 739 名前:デフォルトの名無しさん mailto:sage [02/09/06 23:49]
- >>736 + >>728 の6行書庫
#まだ100文字程あるから前スレRLEでも7行いけるかな? #include <stdio.h> FILE*f,*o;char n[256];int i,c,b,p,q;r(){return b?getc(f):i<=0?-1:getc(o);}w(x){ putc(x,b?o:f);}main(a,v)char**v;{for(!(b=a-1)?a=getw(o=stdin):putw(a,o=stdout); --a;b*~p?w(p),w(q):0)for(f=fopen(b?v[++i]:gets(n),b?"rb":"wb"),b?fseek(f,q=0,2) ,puts(v[i]),putw(ftell(f),o),rewind(f),0:(i=getw(o)),p=r();~(c=r());p=b?q=q>254 ||p-c?w(p),w(q),0:q+1,c:r())for(b||(i+=~c);!b&&~c--;)w(p);}
- 740 名前:736 mailto:sage [02/09/06 23:55]
- >>739
6行ですか、素晴らしい
- 741 名前:デフォルトの名無しさん mailto:sage [02/09/07 02:52]
- >>736 + 前スレ101版RLE の7行書庫
fcloseを入れたので多い日も安心 #include <stdio.h> FILE*f,*o;char n[256];int i,c,b,p,q;r(){return b?getc(f):i<=0?-1:getc(o);}w(x){ putc(x,b?o:f);}main(a,v)char**v;{for(!(b=a-1)?a=getw(o=stdin):putw(a,o=stdout); --a;b*q?w(p),w(q):0,fclose(f))for(f=fopen(b?v[++i]:gets(n),b?"rb":"wb"),b?fseek (f,q=0,2),puts(v[i]),putw(ftell(f),o),rewind(f),0:(i=getw(o)),p=-1;~(c=r());p=b ?q=p-c||q>254?q?w(p),w(q):0,w(c),0:q+1,c:c-p?c:r())for(b||(q=c-p?~p?0:-1:r(),i +=~q);!b&&~q--;)w(p);}
- 742 名前:729 mailto:sage [02/09/07 06:24]
- tarみたいな感じでアーカイブができれば良いかなと思って書いたんですが、
圧縮までして7行ですか!恐れ入りましたすばらしいです。
- 743 名前:デフォルトの名無しさん mailto:sage [02/09/07 12:59]
- 画像ファイルとか音楽ファイルだと逆にでかくなるだけだが
- 744 名前:デフォルトの名無しさん mailto:sage [02/09/07 15:14]
- >>743 使えるのはBMPファイルとか、AAとかだね。
圧縮+書庫化するだけ、ならばrangecoderでもできるだろうけどね。
- 745 名前:デフォルトの名無しさん mailto:sage [02/09/07 15:16]
- !b&&~q-- って b||~q-- にできるんちゃう?いまさらやけど。
- 746 名前:デフォルトの名無しさん mailto:sage [02/09/07 18:56]
- ちょっとした暇つぶしに、ゲームなぞ。
何かキーを押すとスタート、ストップ、リスタート。 動く丸を四角の中で止めてください。赤くなれば成功! import java.awt.*;class S{public static void main(String[]a){new Frame(){int u= 2,p,t,s,c;void L(){u=p=0;t=1;s=(int)(Math.random()*8+2);c=150/s+19;}{resize(350 ,200);show();try{for(;;Thread.sleep(s)){p=p+t;if(p>300)u=2;if(u==1)if(--c<1){t= 0;u=2;}for(repaint();u>1;);}}catch(Exception e){}}public void paint(Graphics g) {g.setColor(t<1&p>249&p<281?Color.RED:Color.BLACK);g.drawOval(p,75,50,50);g. drawRect(250,60,80,80);}public boolean keyDown(Event e,int y){u=u<1?1:u;if(u>1) L();return 1>0;}};}}
- 747 名前:デフォルトの名無しさん mailto:sage [02/09/07 21:03]
- >745
b||~q--だとb!=0の時に無限ループする
- 748 名前:デフォルトの名無しさん mailto:sage [02/09/09 16:20]
- ネタ募集上げ
- 749 名前:デフォルトの名無しさん [02/09/09 17:11]
-
- 750 名前:デフォルトの名無しさん mailto:sage [02/09/11 20:50]
- 適応型Huffman
但し毎回木を更新するので滅茶苦茶重い(w 圧縮 int*a[258],n[2060],o[257],*r,*p,*q,c,f,i,j,k;Q(int**a,int**b){return**b-**a;}W( a,b){for(;b--;++i>7?putchar(f),i=f=0:0)f+=f+(a>>b)%2;}S(s){for(r=n,j=k;j++<258; r+=4)*r?a[k++]=r:0;for(;--k;r+=4){qsort(a,k+1,4,Q);a[k-1][1]=a[k][1]=r-n;*r=*a[ k-1]+*a[k];r[2]=a[k-1]-n;r[3]=a[k]-n;a[k-1]=r;}for(r=n+s;r-*a;r=q)o[k++]=r-n!=2 [q=n+r[1]];for(;k;)W(o[--k],1);}main(){for(*n=n[4]=1;~c;S(*p?p-n:0),(*p)++||W(c ,8))p=n+(c=getchar())*4+8;W(0,7);} 展開 int*a[258],n[2060],o[257],*r,*p,*q,c,f,i,j,k;Q(int**a,int**b){return**b-**a;}R( a){for(c=0;a--;c+=c+(f>>--i)%2)f=!i?i=8,getchar():f;return c;}L(){for(r=n,j=k;j ++<258;r+=4)*r?a[k++]=r:0;for(;--k;r+=4){qsort(a,k+1,4,Q);a[k-1][1]=a[k][1]=r-n ;*r=*a[k-1]+*a[k];r[2]=a[k-1]-n;r[3]=a[k]-n;a[k-1]=r;}for(r=*a;r[2]|r[3];r=n+r[ 2+R(1)]);r-n||(r=n+R(8)*4+8);(*r)++;~(c=(r-n)/4-2)&&putchar(c);}main(){for(*n=n [4]=1;~c;)L();}
- 751 名前:デフォルトの名無しさん [02/09/12 18:42]
- レスがついてなくて寂しそうだ。あげてあげよう。
- 752 名前:デフォルトの名無しさん mailto:sage [02/09/12 19:58]
- >>750の圧縮・展開を纏めて7行化
何か引数があれば圧縮、なしで展開 int*a[258],n[2060],*r,*p,*q,c,f,i,k;Q(int**a,int**b){return**b-**a;}W(a,b){for( ;b--;++i>7?putchar(f),i=f=0:0)f+=f+(a>>b)%2;}R(a){for(c=0;a--;c+=(f>>--i)%2+c)f =!i?i=8,getchar():f;}S(int*r){r-*a?S(n+r[1]),W(r-n!=n[r[1]+2],1):0;}L(){for(r=* a;r[2]|r[3];r=n+r[2+c])R(1);}main(v){for(--v,*n=n[4]=1;~c;v?S(*(p=n+(c=getchar( ))*4+8)?p:n),(*p)++||W(c,8):(L(),r-n||(R(8),r=n+c*4+8),(*r)++,~(c=(r-n)/4-2)&& putchar(c))){for(r=n;r-n<1032;r+=4)*r?a[k++]=r:0;for(;--k;p=a[k-1],q=a[k],p[1]= q[1]=r-n,*r=*p+*q,r[2]=p-n,r[3]=q-n,a[k-1]=r,r+=4)qsort(a,k+1,4,Q);}v&&W(0,7);}
- 753 名前:デフォルトの名無しさん [02/09/12 20:23]
- すげーなあ
- 754 名前:デフォルトの名無しさん mailto:sage [02/09/12 20:26]
- このforなげえぇぇぇぇなあぁぁぁぁ。
- 755 名前:デフォルトの名無しさん [02/09/13 14:01]
- うわーん。某あれで九州の某へ逝っていたら、ネタが来ただけじゃなく、終わってたよ。
すばらしい! あげちゃえ。
- 756 名前:デフォルトの名無しさん [02/09/14 14:39]
- ファイラってできるかな?
- 757 名前:デフォルトの名無しさん mailto:sage [02/09/14 14:41]
- 俺主催囲碁プログラミングコンテスト スレより、13行囲碁
pc3.2ch.net/test/read.cgi/tech/1024024666/136- おいお前ら、これを7行に縮めてください。 #include <stdio.h> int w[4]={1,-1,12,-12},s,d,h[3],b[132];r(int a, int c){int z,i;b[a]|=8;s++;for (i=0;i<4;i++){z=a+w[i];if(b[z]==0)d++;if(b[z]==c)r(z,c);}b[a]&=3;}v(int a,int c){int z,i;b[a]=0;for(i=0;i<4;i++){z=a+w[i];if(b[z]==c)v(z,c);}}int t(int u){ int m,e,g,z,i,k;m=e=0;for(z=0;z<132;z++){k=g=0;if(b[z])continue;for(i=0;i<4;i++ ){if(b[z+w[i]]==u){d=s=0;r(z+w[i],1);k+=(d==1)*s*300+(d==2)*s*300+(d==3)*s*20; }if(b[z+w[i]]==0)k+=10;else g++;}if(g==4)continue;if(k>m){m=k;e=z;}}return e;} char *p="・○● \n";int main(){int c=1,u=2,z,x,y,i;for(i=0;i<132;i++){if((i+1 )%12==0)b[i]=4;else if(i%12==0||i<12||(i+2)%12==0||i>120)b[i]=3;}for(;;){for(i =0;i<132;i++)printf("%.2s",&p[b[i]*2]);if(c==1){scanf("%d %d",&x,&y);z=y*12+x; if(b[z]){printf("Err\n");continue;}}else{if((z=t(u))==0){printf("ps\n");break; }}b[z]=c;for(i=0;i<4;i++){if(b[z+w[i]]==u){d=s=0;r(z+w[i],u);if(d==0){h[c]+=s; v(z+w[i],u);}}}d=0;r(z,c);if(d==0)break;u=c;c=3-c;}return 0;}
- 758 名前:デフォルトの名無しさん [02/09/14 14:46]
- >>756>>757
ネタ来たーーーーーーあげ でも囲碁はちょっと見ただけでも無駄が多い、10行くらいにはすぐなりそう
- 759 名前:オマケ月 mailto:sage [02/09/14 16:08]
- #include <stdio.h>
main(){printf("ファイア\nファイラ\nファイが!");}
- 760 名前:デフォルトの名無しさん mailto:sage [02/09/14 16:09]
- >>759
やってくれたね...
- 761 名前:758 mailto:sage [02/09/14 19:08]
- >>757
ちょっとだけ縮めてみた。十分7行になりそうだ。 int w[4]={1,-1,12,-12},s,d,h[3],b[132],c=1,u=2,x,y,i;r(a,c,f){int z,i;f?b[a]=0: (b[a]|=8,s++);for(i=4;i--;b[z]==c&&r(z,c,f))d+=!b[z=a+w[i]];!f?b[a]&=3:0;}t(u){ int m,e,g,z,i,k;for(m=e=z=0;z<132;z++)if(k=g=0,!b[z]){for(i=4;i--;b[y]?g++:(k+= 10))if(b[y=z+w[i]]==u)d=s=0,r(y,1,0),k+=(d==1)*s*300+(d==2)*s*300+(d==3)*s*20; if(g!=4)k>m?m=k,e=z:0;}return e;}char*p="・○● \n";main(z){for(i=132;i--;i%12 ==11?b[i]=4:0)if(i%12==0||i<12||(i+2)%12==0||i>120)b[i]=3;for(;;){if(c==1){for( i=10;i<119;)printf("%.2s",&p[b[i++]*2]);scanf("%d %d",&x,&y);if(b[z=y*12+x]){ puts("Err");continue;}}else if(!(z=t(u))){puts("ps");break;}b[z]=c;for(i=4;i--; d=0)if(b[x=z+w[i]]==u)if(d=s=0,r(x,u,0),!d)h[c]+=s,r(x,u,1);r(z,c,0);if(!d) break;u=c;c=3-c;}}
- 762 名前:758 mailto:sage [02/09/14 23:48]
- >>761
現在9行。ゲーム性の向上を目指し、 終了時にアゲハマを表示し、余分な改行を消しました。 int w[]={1,-1,12,-12},s,d=1,h[3],b[132],c=1,u=2,y,i=132,m,g,e,k;r(a,c,f,z,i){b[ a]=!f?s++,b[a]|8:0;for(i=4;i--;b[z]==c&&r(z,c,f))d+=!b[z=a+w[i]];!f?b[a]&=3:0;} main(z){for(;i--;i%12==11?b[i]=4:0)i%12==0||i<12||i%12==10||i>120?b[i]=3:0;for( ;d;){if(c==1){for(i=10;i<120;)printf("%.2s",&("・○● \n"[b[i++]*2]));if(scanf ("%d %d",&k,&y),b[z=y*12+k]&&puts("Err"))continue;}else{for(m=e=z=0;e<132;e++) if(k=g=0,!b[e]){for(i=4;i--;b[y]?g++:(k+=10))b[y=e+w[i]]==u?r(y,1,d=s=0),k+=((( d==1)+(d==2))*15+(d==3))*s*20:0;g!=4&&k>m?m=k,z=e:0;}if(!z&&puts("ps"))break;}b [z]=c;for(i=4;i--;)b[k=z+w[i]]==u?r(k,u,d=s=0),!d?h[c]+=s,r(k,u,1):0:0;r(z,u=c, d=0);c=3-c;}printf("%d,%d\n",h[1],h[2]);}
- 763 名前:デフォルトの名無しさん mailto:sage [02/09/15 00:34]
- 4行目のスペースが纏められちゃったので修正
;d;){if(c==1){for(i=10;i<120;)printf("%.2s",&("・○● \n"[b[i++]*2]));if(scanf
- 764 名前:デフォルトの名無しさん mailto:sage [02/09/15 01:34]
- >763
cはu^3で代用、それに伴いc==1→u-1等に変更 ((d==1)+(d==2))→(d-1U<2) i<12||略||i>120→i-12U>108||略 for(i=10;i<120;略&("・○● \n"[b[i++]*2)→for(i=9;i++<119;略"・○● \n"+b[i]*2
- 765 名前:囲碁スレ136 mailto:sage [02/09/15 07:04]
- >>762
やるねぇ・・・。そうやって圧縮するのか。 再帰関数も1つになってるし。 しかしここからはつらそう。
- 766 名前:デフォルトの名無しさん mailto:sage [02/09/15 14:37]
- >>759
printfって最後、\nしないと問題が出る環境なかった? うろおぼえだけど
- 767 名前:デフォルトの名無しさん mailto:sage [02/09/15 14:39]
- >>762 最初の盤作成部分
for(;i--;b[i]=z-11?z&&z-10&&i-12U<109?0:3:4)z=i%12;
- 768 名前:デフォルトの名無しさん mailto:sage [02/09/15 18:48]
- 囲碁8行(あと62-63文字)
int w[]={1,-1,12,-12},s,d=1,h[3],b[132],u=2,y,i=132,m,g,e,k;r(a,c,f,z,i){b[a]=! f?s++,b[a]|8:0;for(i=4;i--;b[z]-c||r(z,c,f))d+=!b[z=a+w[i]];!f?b[a]&=3:0;}main( z){for(;i--;b[i]=z-11?z&&z-10&&i-12U<109?0:3:4)z=i%12;for(;d;){for(i=9;i++<119; )printf("%.2s",&("・○● \n"[b[i]*2]));for(m=z=0;i--;g!=4&&k>m?m=k,z=i:0)for(k =g=0,e=4*!b[i];e--;!b[y]?k+=10:g++)b[y=i+w[e]]==u?r(y,1,d=s=0),k+=((d-1U<2)*15+ (d==3))*s*20:0;if(u>1&&(scanf("%d %d",&k,&y),b[z=y*12+k]&&puts("Err")));else{if (!z&&puts("ps"))break;for(i=4;i--;b[z]=u^3)b[k=z+w[i]]==u?r(k,u,d=s=0),!d?h[u] +=s,r(k,u,1):0:0;r(z,u^=3,d=0);}}printf("%d,%d\n",h[2],h[1]);}
- 769 名前:デフォルトの名無しさん mailto:sage [02/09/15 19:12]
- printf("%.2s",&("・○● \n"[b[i]*2]));
↓ printf("・\0○\0●\0 \0\n"+b[i]*3); 3文字か…
- 770 名前:デフォルトの名無しさん mailto:sage [02/09/15 19:25]
- 関数r内
b[a]=f?0:~b[a];s++; for(i=4;i--;b[z]-c||r(z,c,f))d+=!b[z=a+w[i]]; b[a]^=!f*~0; 3文字?
- 771 名前:758 mailto:sage [02/09/15 21:20]
- 後34文字になりますた。
int w[]={1,-1,12,-12},s,d=1,h[3],b[132],u=2,y,i,m,g,e,k;r(a,c,f,z,i){b[a]=f?0:~ b[a];s++;for(i=4;i--;b[z]-c||r(z,c,f))d+=!b[z=a+w[i]];b[a]^=!f*~0;}main(z){for( ;d;){for(;i++<132;printf("・\0○\0●\0 \0\n"+(b[i]=z-11?z&&z-10&&i-12U<109?b[i ]:3:4)*3))z=i%12;for(m=z=0;i--;g!=4&&k>m?m=k,z=i:0)for(k=g=0,e=4*!b[i];e--;!b[y ]?k+=10:g++)b[y=i+w[e]]==u?r(y,1,d=s=0),k+=((d-1U<2)*15+(d==3))*s*20:0;if(u<2|| !(scanf("%d%d",&k,&y),b[z=y*12+k]&&puts("Err"))){if(!z&&puts("ps"))break;for(i= 4;i--;b[z]=u^3)b[k=z+w[i]]==u?r(k,u,d=s=0),!d?h[u]+=s,r(k,u,1):0:0;r(z,u^=3,d=0 );}}printf("%d,%d\n",h[2],h[1]);}
- 772 名前:囲碁スレ136 mailto:sage [02/09/15 21:47]
- お前ら・・・すごいです(w
もはや暗号だな。
- 773 名前:デフォルトの名無しさん mailto:sage [02/09/16 00:14]
- 円周率を求める7行ってないの?もちろんエンドレスで。
- 774 名前:デフォルトの名無しさん mailto:sage [02/09/16 01:59]
- >>773が作ってみるということでどうだっ!
- 775 名前:デフォルトの名無しさん mailto:sage [02/09/16 10:29]
- エンドレスって正しい値を永遠にはきだし続けるって事か?
多倍長クラスとページングマネージャも書けと。 無理臭い
- 776 名前:デフォルトの名無しさん mailto:sage [02/09/16 20:15]
- >>775
メモリさえあれば、数百万桁計算する程度なら7行でもできそうだ。 挑戦してみようかなぁ。
- 777 名前:デフォルトの名無しさん mailto:sage [02/09/16 20:52]
- 標準出力に10進数を一桁ずつ吐くだけだから
多倍長クラスはいらないのでは。 しかしアルゴリズムが分からない罠。 ttp://www.pluto.ai.kyutech.ac.jp/plt/matumoto/pi_small/_pi_small.html たくさんあってどれが7行向きなのやら。
- 778 名前:デフォルトの名無しさん mailto:sage [02/09/16 22:37]
- >>777
1桁ずつ計算する物じゃないぞ
- 779 名前:デフォルトの名無しさん [02/09/16 22:57]
- >>778
一桁ずつできるけどね。やるかどうかは別として。
- 780 名前:デフォルトの名無しさん mailto:sage [02/09/17 01:26]
- 以下のコードをバイナリエディタで書いて prg.com で保存後 実行
B0 13 CD 10 C4 2F AA 11 F8 64 13 06 6C 04 EB F6
- 781 名前:デフォルトの名無しさん mailto:sage [02/09/17 04:39]
- >>780
メガデモスレから持ってこないで下さい。(w farb-rausch.de/prod.html
- 782 名前:デフォルトの名無しさん mailto:sage [02/09/17 15:39]
- >>780
これ何?
- 783 名前:デフォルトの名無しさん mailto:sage [02/09/17 19:41]
- >780の実効ファイル版ISHにしてみた。
<<< A.COM for MS-DOS ( use shift_jis ish ) [ 8 lines ] >>> !!!&!!9Q!5"XRo"O"I->!C$oR6nt!&"HDm=NH,!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!JF;v !!!&!!9Q!5"XRo"O"I->!C$oR6nt!&"HDm=NH,!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!JF;v !!!&!!9Q!5"XRo"O"I->!C$oR6nt!&"HDm=NH,!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!JF;v %x/。」;掲僕ウFリ策ル」\EB機@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@q繆 。ツ0拆M3鐇Aェ物ォミ^2ンロCm@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UR「 」\VG・ュッ、{ャナ^・ヨH*j8Le+フ「ワVe、錦ラ;サヌ,Kヤ省竿58h3Q筰ミ隹峻Sスヨアヘニ゙妹4\覬レメノレウh岻屁搶ワ --- A.COM (8/8) ---
- 784 名前:デフォルトの名無しさん [02/09/17 20:25]
- >>780
だれかこの動作をマジレスしてください。 メガデモスレと言われても、あまりこの板にはこないから。
- 785 名前:デフォルトの名無しさん mailto:sage [02/09/17 20:30]
- >>784
自分でやればわかるよ
- 786 名前:デフォルトの名無しさん [02/09/17 20:31]
- >>785
いや、なんか怖い…。 format cよりも怖いです。
- 787 名前:デフォルトの名無しさん mailto:sage [02/09/17 20:40]
- >>786
www.google.co.jp/search?sourceid=navclient&hl=ja&q=%22B0+13+CD+10+C4+2F+AA+11+F8+64+13+06+6C+04+EB+F6%22 目がちかちかする。
- 788 名前:デフォルトの名無しさん [02/09/17 21:32]
- >>787
噂の「ポケモンフラッシュ」みたいなやつですか? グロよりも苦手なんでよかった。
- 789 名前:デフォルトの名無しさん mailto:sage [02/09/17 21:35]
- >>788
見てみりゃわかる。無害。
- 790 名前:デフォルトの名無しさん [02/09/17 21:50]
- <age>
- 791 名前:bloom [02/09/17 21:59]
-
www.leverage.jp/bloom/start/
- 792 名前:デフォルトの名無しさん [02/09/17 22:21]
- >>789
ちょっと面白かった。 でもわずかにチカチカするのでちょっとだめかもw フルスクリーンのせいでアプリをひとつ間違って閉じたのに気づかなかったぞゴルァ
- 793 名前:デフォルトの名無しさん mailto:sage [02/09/17 22:32]
- つーか、Cなり何なりで、上のバイナリコードを吐き出すようにすれば、
もっと簡単に試したのではなかろうか。 main(){char data[]={...};fwrite(data,1,sizeof(data),stdout);} みたく。
- 794 名前:デフォルトの名無しさん mailto:sage [02/09/17 23:42]
- >>789
Win2k飛ばされますた >>793 16バイトで出来てることに意味があるのでせう 逆アセンブルリスト見て嘆息
- 795 名前:デフォルトの名無しさん [02/09/18 16:11]
- コードをアセンブラで書いて、インストラクションコードを
>>793みたいに文字列として埋め込むのはありでしょうか? typedef int(*f)(); ((f)"....")(); //呼び出し
- 796 名前:デフォルトの名無しさん mailto:sage [02/09/18 19:40]
- >>795
良いと思うけど、普通は逆にオブジェクトコードが増えると思うよ
- 797 名前:デフォルトの名無しさん mailto:sage [02/09/18 19:40]
- オブジェクトコード埋め込みの方が…ですね、スマソ
- 798 名前:トリッキーの1 mailto:sage [02/09/18 21:29]
- ご無沙汰してました。相変わらず皆さん凄いですね。勉強になります。
近いところでは囲碁面白いですね。でも囲碁のルールが解らないので残念です。 >>771 半角スペース2個は全角1個にしないと、貼り付けるときに消えてしまいますよ それと、「3,3:4,4:2,4:2,5:2,6:2,8」と入力すると相手の石の上に自分の石が来るけれど、 これは囲碁のルールで正しいんですか?
- 799 名前:デフォルトの名無しさん mailto:sage [02/09/18 22:39]
- LZW系の展開・圧縮
使い方は>>752と同じ 同じ辞書を使い続ける6行版 int*Q,N[16384],S,T,U,V,F,G,P,C,X,Z;p(a,b){for(;b--;++S>7?putchar(T),S=T=0:0)T=T +T|a>>b&1;}g(a){for(G=0;a--;G=G+G|V>>--U&1)!U?U=8,V=getchar():0;}a(){F<1<<12?1[ Q=N+F*4]=X,Q[2]=C,Q[3]=N[C*4],*Q=0,N[C*4]=F++:0;}r(x){p((x>256?r(N[x*4+2]),N[x* 4+1]:(X=x))-1,8);}main(c){for(G=F=257;G--;)1[Q=N+G*4]=G;for(--c?g(8),C=V+1:0;g( c?8:12),c?C:~V;C=c?!Z?p(C,12),a(),X:Z:(G=X,r(Z<F?Z:C),Z<F||p(G-1,8),P++&&a(),Z) )for(Z=c?X=V+1,N[C*4]:G;c*Z&&1[Q=N+Z*4]-X;Z=Q[3]);p(0,7);} 辞書が一杯になると再構築する7行版 int*Q,N[16384],S,T,U,V,F,G,P,C,X,Z;i(){for(G=F=257;G--;*Q=Q[2]=Q[3]=0)1[Q=N+G*4 ]=G;}p(a,b){for(;b--;++S>7?putchar(T),S=T=0:0)T=T+T|a>>b&1;}g(a){for(G=0;a--;G= G+G|V>>--U&1)!U?U=8,V=getchar():0;}a(){F<1<<12?1[Q=N+F*4]=X,Q[2]=C,Q[3]=N[C*4], *Q=0,N[C*4]=F++:i();}r(x){p((x>256?r(N[x*4+2]),N[x*4+1]:(X=x))-1,8);}main(c){i( );for(--c?g(8),C=V+1:0;g(c?8:12),c?C:~V;C=c?!Z?p(C,12),a(),X:Z:(G=X,r(Z<F?Z:C), Z<F||p(G-1,8),P++&&a(),Z))for(Z=c?X=V+1,N[C*4]:G;c*Z&&1[Q=N+Z*4]-X;Z=Q[3]);p(0, 7);}
- 800 名前:デフォルトの名無しさん mailto:sage [02/09/18 22:54]
- >>773
ほらよ。多少の誤差には眼をつぶれや。 #include <stdio.h> // printf() #include <stdlib.h> // rand() int main(){ printf( "3.1415926535897932384626433832795" ) ; for (;;) printf( "%d",rand() ) ; return 0 ; }
- 801 名前:デフォルトの名無しさん mailto:sage [02/09/18 22:55]
- 後はランダムかよ
- 802 名前:デフォルトの名無しさん mailto:sage [02/09/18 23:08]
- お題:素数列挙
- 803 名前:デフォルトの名無しさん mailto:sage [02/09/18 23:09]
- p2pの七行があったらすごいよね。なんて言って見るテスト
- 804 名前:>>802 mailto:sage [02/09/18 23:15]
- printf(char*,...);main(){int z,i=1;for(;z=i++;z?0:printf("%d,",i))while(i%z--);}
1文字オーバーなのは秘密だ。
- 805 名前:デフォルトの名無しさん mailto:sage [02/09/18 23:24]
- >>802
外出だったりする
- 806 名前:デフォルトの名無しさん mailto:sage [02/09/18 23:32]
- >>805
>>74 >>81やね
- 807 名前:デフォルトの名無しさん mailto:sage [02/09/18 23:37]
- >>804
1文字縮めてみますた printf(char*,...);main(){int z,i=1;for(;z=i++;z||printf("%d,",i))while(i%z--);}
- 808 名前:804 mailto:sage [02/09/18 23:53]
- おぉ、さんきゅー!
そうか、|| か。なんかPerlっぽい。
- 809 名前:デフォルトの名無しさん mailto:sage [02/09/19 01:06]
- >>807
gcc -ansi -pedantic だとprintf(char*,...)は通らず。 ANSI C forbids data definition with no type or storage class printf()を削除すれば通るので、そっちの方がよい? 1文字縮めてみた。 printf(char*,...);main(z){int i=1;for(;z=i++;z||printf("%d,",i))while(i%z--);}
- 810 名前:デフォルトの名無しさん mailto:sage [02/09/19 01:14]
- これではだめですかね。引き数なしで実行が条件ですが。
main(i,z){for(;z=i++;z||printf("%d,",i))while(i%z--);}
- 811 名前:デフォルトの名無しさん mailto:sage [02/09/19 01:22]
- >>810
bcc32でも動きますね。しかもgccよりも速かった。
- 812 名前:デフォルトの名無しさん mailto:sage [02/09/19 01:29]
- コンパイラを選ぶのはどうかと思う
- 813 名前:デフォルトの名無しさん mailto:sage [02/09/19 02:00]
- >>810 Solaris cc, GNU gcc, Borland bcc32 でコンパイル・実行できますた。
>>807 上記すべてのコンパイラでprintfの宣言がおかしいといわれますた。 >>812 短くするためならコンパイラどころかアーキテクチャすら選択するのが最近の風潮らしいです。
- 814 名前:デフォルトの名無しさん mailto:sage [02/09/19 02:04]
- >>803
p2pの何だ?
- 815 名前:デフォルトの名無しさん mailto:sage [02/09/19 03:47]
- 囲碁、申し訳ないんだが、
コンパイルして実行したら、 1の列を指定すると落ちるんだけど。 (ex:1,5) バグ?
- 816 名前:デフォルトの名無しさん mailto:sage [02/09/19 04:06]
- >>798>>815
囲碁、cygwin+gccやSolaris+ccでは正常らしい動作してますね bcc32だと動作は正常のようでも、表示がおかしくなりますね ANSI準拠っぽいソースだけど、どっかしらコンパイラ依存があるんでしょうね >>771さんはいないようだし、ここはひとつトリッキーの1氏のご助力を!
- 817 名前:デフォルトの名無しさん mailto:sage [02/09/19 08:15]
- プロトタイプ宣言無しで printf 使うのって好かんのだけどどうよ。
…っと言っても>>810、VC++.NETでもdmc++でも通るな。 int printf(char*,...); ... にすれば>>809行けるね。
- 818 名前:817 mailto:sage [02/09/19 08:16]
- あーでも、宣言省略すれば int printf( ... ); 扱いになるんだっけ。Cって。
それならOKか。
- 819 名前:デフォルトの名無しさん [02/09/19 17:45]
- >>810
>main(i,z) Cって引数の型を省略するとintになるってこと?
- 820 名前:デフォルトの名無しさん [02/09/19 20:40]
- 円周率は
#include <stdio.h> main(){printf("3.14159265358979323846264338327950288419716939937510582097494"); /* 以下略 */ } よりも桁が多いことを願います。 とりあえず、職人さんに (~~~゚∀~~)~~゚ メダマ ボーン
- 821 名前:デフォルトの名無しさん mailto:sage [02/09/19 20:43]
- #include <stdio.h>
main() { char* url = "www.prokofiev.ru/prikol/text/t5/pi.htm"; system(url); return 0; }
- 822 名前:デフォルトの名無しさん mailto:sage [02/09/19 23:29]
- >>814
不特定多数なWinMXみたいな奴でなくて、 相手を登録して交換するスタイル。Grooveとかがそんな感じかなぁ。 七行でできたらビックリだけどね。CUIでそういうの聞いたことないし。
- 823 名前:デフォルトの名無しさん mailto:sage [02/09/20 00:48]
- それもP2Pかもしれないけど、
P2P=ファイル交換じゃないぞ
- 824 名前:デフォルトの名無しさん mailto:sage [02/09/20 04:32]
- なんにせよ、もしできたら凄く便利だと思う
- 825 名前:デフォルトの名無しさん mailto:sage [02/09/20 04:57]
- 便利って・・・・・・別に7行でも覚えられるわけで無し・・・・・・
ぱっと思いつく最小のメディアであるFDに収まる1.44MBに入れば何だって同じ気が。 面白いけどね。
- 826 名前:デフォルトの名無しさん mailto:sage [02/09/20 08:53]
- 今更ながら>>800にワラタ
- 827 名前:トリッキーの1 mailto:sage [02/09/20 15:54]
- 円周率です。意外と七行は簡単でした。オイラーの公式使ってますので収束遅いです。
#include <stdio.h> #define s ( 5000 /*←希望する桁数*/ /4+2) int main(){int i,n,c,t,j,l,a[]={4,9},r[s][4]={0,0,8,12},k=10000;for(n=0;n<s*15 ;n++)for(i=0;i<2;i++){for(c=t=j=0;j<s;r[j++][i]+=((n&1)*-2+1)*l/(2*n+1))t=(l=k *t+r[j][i+2])%a[i],c=(l=k*c+(r[j][i+2]=l/a[i]))%(2*n+1);for(t=0,j--;j+1;r[j--] [i]%=k)t=(r[j][i]+=k+t)/k-1;}for(i=s-(t=1);i+1;*r[i--]%=k)t=(*r[i]=k+*r[i]+r[i ][1]+t)/k-1;printf("%d.",**r);for(i=1;i<s-1;printf("%04d",*r[i++]));return 0;}
- 828 名前:トリッキーの1 mailto:sage [02/09/20 15:56]
- こうやってみるとまだまだ短くなりそうですね。桁数固定にすれば後一行は軽そうです。
- 829 名前:デフォルトの名無しさん [02/09/20 20:47]
- 復活直後にでかいのを持ってきましたね。実質5行だし。相変わらず凄い。
7行にするのって、1字1字縮める技術ももちろんあるけれど、 組む前にデータ構造とアルゴリズムをなるべく文字数を減らすことを念頭に 構想する才能が必要だと思うが、それは知識と知恵の両方を要求するよね。 色々なネタで7行達成している常連の職人さんたちはかなりハイレベルだと思った。
- 830 名前:デフォルトの名無しさん mailto:sage [02/09/20 20:54]
- 有名人が出てくるたびにヨイショするこの雰囲気、
どうにかならんもんかねぇ。 名無しで新しいアイデア出てきても「たいしたことない」と言ってのけるのに。
|

|