1 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 23:00:49 .net] 7行×79文字なら言語は問いません。 過去作品は、もしかしたら>>2-10 あたりに。 前スレ pc11.2ch.net/test/read.cgi/tech/1142467359/ part4 pc8.2ch.net/test/read.cgi/tech/1051703369/ part 3 pc2.2ch.net/tech/kako/1033/10331/1033143528.html part 2 pc3.2ch.net/tech/kako/1018/10188/1018840143.html part 1 pc.2ch.net/tech/kako/984/984182993.html
263 名前:デフォルトの名無しさん [2010/07/04(日) 13:09:56 .net] 微妙な燃料投下。 #!perl open(F,shift)||die;binmode F;print<DATA>,$/,'#~';$p=$j=2;while(read(F,$c,1)){ push(@b,ord($c));if($#b>2){&E;@b=()}}close F;&E if@b;print"*\n";sub E{for($t=0, $i=0;$i<4;++$i){$t*=3;$t+=$b[$i]%3}$c=int(($t+1)*20/19);while(1){++$c if($c+=33) >=42;print chr($c);if(++$p>=72){print"\n#";$p=0}last if!@b;$c=int((shift@b)/3)}} __DATA__ #?7%00%DDPYA44P,5@P_4?P],}P^5'2PZ-%qPR545PZ5E]1F}5uAP5,ZP]5w9'PU/5zjPRQu #Nide/com2txt/X-uw'P'5+~PZ5g(P]-vjPRU-*`P5H9P-E)PZ-KaP5V2P]5hTP5BSPRUVES #?[X5;:PZ5WN'PR',~P/5`QP5Z P-UrPEUQ]EENNNNNN#~ nideさん作 com2txt をperlで書いてみた。 改行コードは DOS/Windows系のCRLF前提なので、LFのみ時は要変換。
264 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 22:02:20 .net] >>263 改行コード問題の改善と文法レベルでの縮め。 #!perl $L="\x0D\x0A";sub E{$t=0;($t*=3)+=$b[$_]%3 for 0..3;$_=int(($t+1)*20/19);{($_+= 33)>=42&&++$_;print chr;$p=0,print"$L#"if++$p>=72;@b||last;$_=int((shift@b)/3); redo}}binmode STDOUT;if(open F,pop){binmode F;print'#?7%00%DDPYA44P,5@P_4?P],}' ,"P^5'2PZ-%qPR545PZ5E]1F}5uAP5,ZP]5w9'PU/5zjPRQu$L#Nide/com2txt/X-uw'P'5+~PZ5g" ,"(P]-vjPRU-*`P5H9P-E)PZ-KaP5V2P]5hTP5BSPRUVES$L#?[X5;:PZ5WN'PR',~P/5`QP5Z P-U" ,"rPEUQ]EENNNNNN#~$L$L#~";$p=2;while(read F,$_,1){push@b,ord;E,@b=()if@b>3}@b&& E;print"*$L"}
265 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 16:58:56 .net] DOSの.com ファイルをテキスト化するcom2txt。 DOSリアルモードで動くJperl4に対応させてみた。 www.vector.co.jp/soft/dl/dos/util/se000203.html #!/usr/bin/perl $L="\x0D\x0A";sub E{$t=0;for(0..3){$t*=3;$t+=$b[$_]%3};$_=int(($t+1)*20/19);{( $_+=33)>=42&&++$_;print pack(C,$_);$p=0,print"$L#"if++$p>=72;@b||last;$_=int(( shift@b)/3);redo}}binmode STDOUT;if(open(F,shift)){print'#?7%00%DDPYA44P,5@P_4' ,"?P],}P^5'2PZ-%qPR545PZ5E]1F}5uAP5,ZP]5w9'PU/5zjPRQu$L#Nide/com2txt/X-uw'P'5+" ,"~PZ5g(P]-vjPRU-*`P5H9P-E)PZ-KaP5V2P]5hTP5BSPRUVES$L#?[X5;:PZ5WN'PR',~P/5`QP5" ,"Z P-UrPEUQ]EENNNNNN#~$L$L#~";binmode F;$p=2;while(read(F,$_,1)){push(@b,ord); &E,@b=()if@b>3}@b&& &E;print"*$L"}
266 名前:デフォルトの名無しさん mailto:sage [2010/08/01(日) 21:51:12 .net] 七行テトリスまだ縮んでるみたいだね ttp://d.hatena.ne.jp/Ozy/20100325/p1 ttp://d.hatena.ne.jp/murky-satyr/20100801/tetris464
267 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 01:13:34 .net] 次は七行コワリスだな
268 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 20:15:04 .net] >>267 そwwれwwはww
269 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 17:58:25 .net] ぬるぽ
270 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:02:48 .net] はぁ
271 名前:デフォルトの名無しさん [2010/09/11(土) 10:43:03 .net] #!/usr/bin/perl %T=qw(! ¡ ' , . ˙ ; ؛ ? ¿ _ ~ a ɐ b q c ɔ d p e ǝ f ɟ g ƃ h ɥ i ı j ɾ k ʞ m ɯ n u p q r ɹ t ʇ u v ʌ w ʍ y ʎ ); print join('',map{$T{$_}||$_}reverse split//,lc"@ARGV"),$/ fliptitle.com をperlにしてみた。
272 名前:デフォルトの名無しさん [2010/09/11(土) 12:59:33 .net] >>271 MACですか…
273 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 14:21:01 .net] Windows 7プログラミングが 7行プログラミングかと間違える今日この頃。
274 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 15:25:17 .net] >>271 アイとエルはもうちょっといい文字ないのかな まあないんだろうけど
275 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 18:28:01 .net] iは!でいいのに
276 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 22:29:31 .net] >>271 JavaScript。反転文字の復元はできない一方通行。 よく分からなくてマッピングの順序いじっちゃった。 function fliptitle(s){var m="!¡',.˙;؛?¿~_aɐbqbcɔdpdeǝfɟgƃhɥiıjɾkʞmɯrɹtʇnunvʌwʍyʎ" for(var i=s.length,o='';i;i--)o+=(_=1+m.indexOf(x=s.charAt(i-1)))?m.charAt(_):x; return o}
277 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 23:18:34 .net] >>276 ちょっと改良してみた、復元も出来る function fliptitle(s){m="!¡',.?;??¿~_a?bqc?dpe?f?g?h?i?j?k?m?r?t?nuv?w?y?";for( i=s.length,o='';i--;)o+=(_=m.indexOf(x=s.charAt(i)))+1?m.charAt(_^1):x;return o }
278 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 23:21:32 .net] すまん、化けた function fliptitle(s){m="!¡',.˙;؛?¿~_aɐbqcɔdpeǝfɟgƃhɥiıjɾkʞmɯrɹtʇnuvʌwʍyʎ";for( i=s.length,o='';i--;)o+=(_=m.indexOf(x=s.charAt(i)))+1?m.charAt(_^1):x;return o }
279 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 01:27:18 .net] function fliptitle(s){for(i=o='';x=s.charAt(i++);o=(m.charAt(m.indexOf(x)^1)||x )+o)m="!¡',().˙;؛<>?¿[]_~aɐbqcɔdpeǝfɟgƃhɥiıjɾkʞmɯnurɹtʇvʌwʍyʎ{}";return o}
280 名前:デフォルトの名無しさん mailto:sage [2010/09/17(金) 15:52:35 .net] >>272 linux 使いざんす(^^;。 せっかくなので、JavaScript版に HTML部分も付けてみまつた。 動作確認は Gentoo Linux上の firefox-3.6.9 と Opera-10.61 でしました。 <html><body><script>function $(f){return document.getElementById(f)} function fliptitle(s){for(i=o='';x=s.charAt(i++);o=(m.charAt(m.indexOf(x)^1)||x )+o)m="!!',().˙;؛<>??[]_~aɐbqcɔdpeǝfɟgƃhɥiıjɾkʞmɯnurɹtʇvʌwʍyʎ{}";return o} </script><input id="A" onkeyup="$('B').value=fliptitle($('A').value)"><br> <input id="B"></body></html>
281 名前:デフォルトの名無しさん mailto:sage [2010/10/02(土) 15:09:42 .net] 1 kB の JavaScript で何ができる ? www.excite.co.jp/News/net_clm/20101001/Slashdot_10_10_01_0115233.html ある Anonymous Coward 曰く、 1 kB 以下の JavaScript デモを作るコンテスト「JS1K」が開催され、トップ 10 が発表された (本家 /. 記事より) 。 このコンテストのルールは「1 kB 以下の JavaScript でイケてるデモを作る」という至ってシンプルなもの。外部ファイルの使用は認められておらず、twitter で投稿できる 140 文字以内に収めた場合にはボーナスポイントがもらえるそうだ。 3 位のTetris with sound (音量注意) は操作はもちろん、題名の通りゲーム音楽までついている。1 位に輝いたのは「Legend Of The Bouncing Beholder」という横スクロールゲーム。 アクセス過多のためか残念ながらデモが開かないときもあるが、1 kB の可能性の大きさに改めて驚かされる。 1位「Legend Of The Bouncing Beholder」 js1k.com/demo/635 2位「2.Tiny chess」 js1k.com/demo/750 3位「Tetris with sound」 js1k.com/demo/730
282 名前:デフォルトの名無しさん mailto:sage [2010/10/02(土) 19:40:25 .net] 1024文字も使えるのか 軟弱な
283 名前:デフォルトの名無しさん mailto:sage [2010/10/04(月) 20:15:30 .net] #include <stdio.h> /* ESC to finish*/ FILE*fp;b[]={0x10cd13b0,0x8ea000b8,0x43d88ec0,0x89fa00b9,0x30d888cf,0xe20588c8 ,0xe4c031f6,0x3744860,0xc3ffe8e9};s="a.com";main(){fp=fopen(s,"wb");fwrite(b,4 ,9,fp);fclose(fp);system(s);} cygwinの場合はs="./a.com"にしないとだめ(-mno-cygwinつければおk)。 マルチバイト文字や8文字以上のディレクトリ名の中では走らん。
284 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 15:17:42 .net] ちょっとコードを短くして、>>265 の 7com2txt.pl に掛けてみた。 終了は ESC。画面モードは自分で戻す必要があるみたい。 ちなみに四行目の空行を詰めても動いた。 #?7%00%DDPYA44P,5@P_4?P],}P^5'2PZ-%qPR545PZ5E]1F}5uAP5,ZP]5w9'PU/5zjPRQu #Nide/com2txt/X-uw'P'5+~PZ5g(P]-vjPRU-*`P5H9P-E)PZ-KaP5V2P]5hTP5BSPRUVES #?[X5;:PZ5WN'PR',~P/5`QP5Z P-UrPEUQ]EENNNNNN#~ #~i\'f&`D!W,S8_!u_OgOj;2dO"Bmt2b"nB:I?pc*
285 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 15:25:04 .net] >>283 cygwinの場合、"./a.com"にしただけじゃ実行ビットが立ってないから動かないよ。
286 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 16:52:05 .net] え、なんかエラーでたけどうちでは動いちゃったぞw でもx属性ついてないから動いちゃマズイ気がするww CYGWIN_NT-5.1 1.7.7(0.230/5/3) うちだけ?
287 名前:デフォルトの名無しさん mailto:sage [2010/10/05(火) 16:54:43 .net] 失礼、a.comもrwxになってた。他は0。
288 名前:デフォルトの名無しさん mailto:sage [2010/10/19(火) 16:40:48 .net] >>281 一位凄すぎだろ・・・ゲームとか詳しくないけどこれは信じられねーわ
289 名前:デフォルトの名無しさん mailto:sage [2010/11/07(日) 22:34:34 .net] ほしゅ
290 名前:デフォルトの名無しさん [2010/11/18(木) 22:26:33 .net] age
291 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 14:13:29 .net] あげ
292 名前:デフォルトの名無しさん [2010/11/21(日) 22:39:17 .net] >>291 さげてるさげてる
293 名前:デフォルトの名無しさん [2010/12/09(木) 15:44:48 .net] emacs とか vz にある yabyax というマクロ。 ついでに DOS 版 Jperl4 にも対応させてみた。perl-5.12 でも動いたお。 ----------^ yab.pl ( date:110-12-09 time:15:31 ) -----------< cut here #!/usr/bin/perl if($#ARGV<0){print"$0 files...\n";exit}for$F(@ARGV){if(!open(F)){print STDERR "$F:open err!\n";next}@T=localtime((stat$F)[9]);$T[4]++;$F=~s/^.*[\\\/]//;$_= "^ $F ( date:".sprintf("%03d-%02d-%02d time:%02d:%02d ) ",@T[5,4,3,2,1]);&H; $.=0;while(<F>){$p=0;while(($p=index($_,"\t",$p))>=0){$c=8-$p%8;substr($_,$p,1) =' 'x$c;$p+$c}print}print$/if/\n$/;$_="\$ $F ( lines:$. ) ";&H} sub H{print"".("-"x10).$_.('-'x(50-length))."< cut here\n"} ----------$ yab.pl ( lines:7 ) -----------------------------< cut here ----------^ yax.pl ( date:110-10-25 time:09:47 ) -----------< cut here #!/usr/bin/perl while(<>){next if!/^-+\^\s+([^ ]+) \( date:(\d+)-(\d+)-(\d+) time:(\d+):(\d+)/; ($F,$y,$m)=($1,$2,$3);$m+=12,$y--if($m-=3)<0;$t=((int(($y*365.2425+$m*30.6+$4)- 25508)*24+$5-9)*60+$6)*60;$F.=$ENV{TMP};print"$F:".localtime($t).': '; if(-r$F){print"file exists!\n";next}if(!open(F,">$F")){print"$!!\n";next}$l=0; while(<>){last if/^-+\$/;print F;++$l}close F;utime($t,$t,$F);print"$l $/"} ----------$ yax.pl ( lines:6 ) -----------------------------< cut here
294 名前:デフォルトの名無しさん mailto:sage [2011/01/12(水) 07:53:27 .net] okajima.air-nifty.com/b/2010/01/post-abc6.html 人材獲得作戦・4 試験問題をやってみた ----------------------------------------------------------- using System;using System.IO;using System.Collections.Generic;using System.Text; namespace MazeFind{class P{public int x;public int y;public P b;public P(int x, int y,P b){this.x=x;this.y=y;this.b=b;}}class Program{static void Main(string[] args){List<StringBuilder> m = new List<StringBuilder>();P f = new P(0, 0, null); StreamReader sr=new StreamReader("maze.txt");int i,j;for(i=0;!sr.EndOfStream; i++){StringBuilder s=new StringBuilder(sr.ReadLine());m.Add(s);for (j=0;j<s. Length;j++){if(s[j]=='S')f=new P(j,i,null);}}Queue<P> q = new Queue<P>();q. Enqueue(f);while(q.Count > 0){P n=q.Dequeue();if (m[n.y][n.x]=='*'||m[n.y][n.x] =='.')continue;else if(m[n.y][n.x]=='G'){P p=n.b;while(p!=null){m[p.y][p.x]='@' ;p=p.b;}break;}if(m[n.y-1][n.x]!='*'){q.Enqueue(new P(n.x, n.y-1,n));m[n.y][n.x] ='.';}if (m[n.y][n.x+1]!='*'){q.Enqueue(new P(n.x+1,n.y,n));m[n.y][n.x]='.';}if (m[n.y+1][n.x]!= '*'){q.Enqueue(new P(n.x,n.y+1,n));m[n.y][n.x] = '.';}if(m[n.y] [n.x-1] != '*'){q.Enqueue(new P(n.x-1,n.y,n));m[n.y][n.x] = '.';}}foreach (StringBuilder s in m)Console.WriteLine(s.ToString().Replace('.', ' '));Console. ReadLine();}}} ----------------------------------------------------------- どうやってもこれ以上縮まらない
295 名前:294 mailto:sage [2011/01/12(水) 08:05:47 .net] おっと、元のソースをアップし忘れてた fesns.com/?m=pc&a=page_fh_diary&target_c_diary_id=2857448&comment_count=0
296 名前:デフォルトの名無しさん mailto:sage [2011/01/12(水) 20:28:03 .net] >>294 もうちょっと頑張れよ using S=System.Text.StringBuilder;using R=System.IO.StreamReader;using C=System. Console;using System.Collections.Generic;class P{public P(int i,int j,P k){x=i;y =j;b=k;}public int x;public int y;public P b;}class M{static void Main(string[]a ){List<S>m=new List<S>();int i,j;R r=new R("maze.txt");P f=new P(0,0,null);for(i =0;!r.EndOfStream;i++){S s=new S(r.ReadLine());m.Add(s);for(j=0;j<s.Length;j++){ if(s[j]==83)f=new P(j,i,null);}}Queue<P>q=new Queue<P>();q.Enqueue(f);while(0<q. Count){P n=q.Dequeue();if((m[n.y][n.x]&7)==2)continue;else if(m[n.y][n.x]==71){P p=n.b;while(p!=null){m[p.y][p.x]='@';p=p.b;}break;}if(m[n.y-1][n.x]!=42){m[n.y][ n.x]=':';q.Enqueue(new P(n.x,n.y-1,n));}if(m[n.y][n.x+1]!=42){q.Enqueue(new P(n. x+1,n.y,n));m[n.y][n.x]=':';}if(m[n.y+1][n.x]!=42){q.Enqueue(new P(n.x,n.y+1,n)) ;m[n.y][n.x]=':';}if(m[n.y][n.x-1]!=42){q.Enqueue(new P(n.x-1,n.y,n));m[n.y][n.x ]=':';}}foreach(S s in m)C.WriteLine(s.ToString().Replace(':',' '));C.Read();}}
297 名前:デフォルトの名無しさん mailto:sage [2011/01/12(水) 21:33:29 .net] 俺ももうちょっと頑張るべきだった using S=System.Text.StringBuilder;using R=System.IO.StreamReader;using C=System. Console;using System.Collections.Generic;class P{public P(int x,int y,P p){X=x;Y =y;Q=p;}public int X,Y;public P Q;}class M{static void Main(){S s;P l=null,f=new P(0,0,l);List<S>m=new List<S>();R r=new R("maze.txt");int i,j,x,y;for(i=0;!r. EndOfStream;i++){m.Add(s=new S(r.ReadLine()));for(j=0;j<s.Length;j++)if(s[j]==83 )f=new P(j,i,l);}Queue<P>q=new Queue<P>();q.Enqueue(f);while(0<q.Count){P n=q. Dequeue();s=m[y=n.Y];if((s[x=n.X]&7)==2)continue;else if(s[x]==71){P p=n.Q;while (p!=l){m[p.Y][p.X]='@';p=p.Q;}break;}if(m[y-1][x]!=42){q.Enqueue(new P(x,y-1,n)) ;s[x]=':';}if(s[x+1]!=42){q.Enqueue(new P(x+1,y,n));s[x]=':';}if(m[y+1][x]!=42){ q.Enqueue(new P(x,y+1,n));s[x]=':';}if(s[x-1]!=42){q.Enqueue(new P(x-1,y,n));s[x ]=':';}}foreach(S t in m)C.WriteLine(t.ToString().Replace(':',' '));C.Read();}}
298 名前:デフォルトの名無しさん [2011/01/23(日) 15:46:47 .net] >>295 スクエニのSNS、アカウントなしに見れねえよ
299 名前:デフォルトの名無しさん [2011/01/23(日) 15:48:52 .net] >>295 ideoneとかCodepadに頼む Ideone.com | Online IDE & Debugging Tool >> C/C++, Java, PHP, Python, Perl and 40+ compilers and intepreters ideone.com/
300 名前:デフォルトの名無しさん mailto:sage [2011/01/23(日) 22:11:36 .net] すまん。 アカウントがないとみれないことを失念してた ideone.com/KXP7D
301 名前:デフォルトの名無しさん mailto:sage [2011/01/24(月) 15:56:43 .net] using C=System.Console;using System.Collections.Generic;using S=System.Text. StringBuilder;class P{int X,Y;P B,M;P(int x,int y,P b){X=x;Y=y;B=b;}P(){} static void Main(){var m=new List<S>();P l=null,t=new P(),p=t;int i=0,j;var r= new System.IO.StreamReader("maze.txt");var s=r.ReadLine();do{j=s.IndexOf('S'); t=j>-1?new P(j,i,l):t;m.Add(new S(s));i++;}while((s=r.ReadLine())!=null);t.M=p ;while(t!=l){if(m[t.Y][t.X]==71){while((t=t.B)!=l)m[t.Y][t.X]='@';break;}if(m[ t.Y][t.X]!=46&&m[t.Y][t.X]!=42){p.M=new P(t.X,t.Y-1,t);p.M.M=new P(t.X+1,t.Y,t );p.M.M.M=new P(t.X,t.Y+1,t);p.M.M.M.M=new P(t.X-1,t.Y,t);p=p.M.M.M.M;m[t.Y][t .X]='.';}t=t.M;}foreach(S b in m)C.WriteLine(b.Replace('.',' '));C.Read();}} ここで力尽きた
302 名前:デフォルトの名無しさん mailto:sage [2011/01/24(月) 16:27:33 .net] using C=System.Console;using S=System.Text.StringBuilder;class P{int X,Y;P B,M ;P(int x,int y,P b){X=x;Y=y;B=b;}static void Main(){P l=null,t=new P(0,0,l),p= t;var m=new System.Collections.Generic.List<S>();int i=0,j;var r=new System.IO .StreamReader("maze.txt");var s=r.ReadLine();do{j=s.IndexOf('S');t=j>-1?new P( j,i,l):t;m.Add(new S(s));i++;}while((s=r.ReadLine())!=null);t.M=p;while(t!=l){ if(m[t.Y][t.X]==71){while((t=t.B)!=l)m[t.Y][t.X]='@';break;}if(m[t.Y][t.X]!=46 &m[t.Y][t.X]!=42){p=p.M=new P(t.X,t.Y-1,t);p=p.M=new P(t.X+1,t.Y,t);p=p.M=new P(t.X,t.Y+1,t);p=p.M=new P(t.X-1,t.Y,t);m[t.Y][t.X]='.';}t=t.M;}foreach(S b in m)C.WriteLine(b.Replace('.',' '));C.Read();}} もうちょい縮んだ
303 名前:デフォルトの名無しさん mailto:sage [2011/01/24(月) 19:03:29 .net] req=urllib2.Request('hibari.2ch.net/test/bbs.cgi ',urllib.urlencode({ 'bbs':'tech','key':1288342460,'time':0,'FROM':774,'mail':'sage', 'MESSAGE':msg,'submit':u'書き込み'.encode('cp932'),'k':''}),{ 'Referer':'hibari.2ch.net/ '});opener=urllib2.build_opener( urllib2.HTTPCookieProcessor(cj));opener.open(req).read();opener.open( req).read()
304 名前:デフォルトの名無しさん mailto:sage [2011/02/13(日) 21:51:08 .net] 自分自身の処理系を最短で記述できるインタプリタを、コンパイルできる既存言語で七行以内で記述できるインタプリタの言語で作って。
305 名前:デフォルトの名無しさん mailto:sage [2011/02/13(日) 22:00:34 .net] >>304 Syntax error
306 名前:デフォルトの名無しさん mailto:sage [2011/02/13(日) 22:51:17 .net] #!/usr/bin/perl eval($ARGV[0])
307 名前:デフォルトの名無しさん mailto:sage [2011/02/13(日) 23:06:56 .net] >>306 それだと、perlのインタプリタを七行で書かなければならないんだぜ。コンパイルできる言語で
308 名前:デフォルトの名無しさん mailto:sage [2011/02/14(月) 00:24:23 .net] 最終的に要件としては自分を記述できるってこと以外何もないわけだから、evalさえ実行できればいいと思うんだ
309 名前:デフォルトの名無しさん mailto:sage [2011/02/14(月) 00:27:33 .net] RUNはBASICの命令ではあるけど、処理系ではないな。
310 名前:デフォルトの名無しさん mailto:sage [2011/02/15(火) 16:45:15 .net] >>304 > コンパイルできる既存言語で七行以内で記述できるインタプリタの言語 つまり、コンパイル可能なインタプリタ言語で書くってこと?
311 名前:デフォルトの名無しさん mailto:sage [2011/02/15(火) 17:14:03 .net] Cで例えれば、CのインタプリタをCで書けってこと? evalがない言語だと無理くせーな。
312 名前:デフォルトの名無しさん mailto:sage [2011/02/15(火) 18:47:07 .net] BrainfuckでBrainfuckは記述できるらしいけど、コンパイル可能なBrainfuckのインタプリタで七行ってあったようななかったような
313 名前:デフォルトの名無しさん mailto:sage [2011/02/16(水) 01:58:00 .net] BFより記述能力が高くて七行で作れる言語ってどういう設計が良いんだろうな。
314 名前:デフォルトの名無しさん mailto:sage [2011/02/16(水) 02:05:15 .net] Cとかで書かれてるbfのインタプリタで7行って普通にあったような気がするけどどうだっけ
315 名前:デフォルトの名無しさん mailto:sage [2011/02/16(水) 02:10:39 .net] と思って前スレを開いたら俺はちょうど前にその付近を見てたらしく いきなり出てきたよ 七行プログラミング part5 ttp://pc11.2ch.net/test/read.cgi/tech/1142467359/487
316 名前:デフォルトの名無しさん mailto:sage [2011/02/16(水) 05:53:53 .net] 7行で自己記述できる言語ってどんな感じなんだろ?
317 名前:デフォルトの名無しさん mailto:sage [2011/02/16(水) 07:46:34 .net] char URL[] = { 0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x62,0x69,0x74, 0x2e,0x6c,0x79,0x2f,0x69,0x34,0x4a,0x51,0x66,0x6a }; for (int i=0; i<20; i++) { printf("%c", URL[i]); } printf("\n");
318 名前:デフォルトの名無しさん [2011/04/26(火) 21:28:41.41 .net] JavaScriptで文字のUTF-32を返す関数。 ブレークスルー求む! ----+----|----+----|----+----|----+----|----+----|----+----|----+----|----+--- function utf32(s){var a=[];encodeURI(s).replace(/[^%]{2}/g,function(e){a.push( parseInt(e,16))});a.length||(a[0]=s.charCodeAt(0));return[a[0].toString(16),$( a[1],a[0]),$(a[2],a[1],a[0]&31),$(a[3],a[2],a[1],a[0])][a.length-1];function $ (z,y,x,w){for(var i=s=0,a=[(w&7)<<2|(x&63)>>4 ,(x&15)<<4|(y&63)>>2 ,(y&3)<<6|(z& 63)];i<a.length;i++)a[i]&&(s=(s<<8)+a[i]);return s.toString(16);}}
319 名前:uy ◆hi.ht/Isu2 mailto:sage [2011/06/29(水) 07:16:55.66 .net] def repl s (s=~/\(.*?(\(.*)\)/?s.sub($1,(repl $1).to_s):s).scan(/\((.*?)\s(.*)\)/).flatten.pop.split.map(&:to_f).inject *(eval"[$1=~/[a-z]/,:#{$1}].compact") end repl"(print (+ 8 9))" puts p repl"(* 8 9 5 5 5 5)" repl"(p (* 59 5 (* 4 (/ 10 6))))" ほらしねよ ゴミカス共
320 名前:デフォルトの名無しさん mailto:sage [2011/06/29(水) 09:13:10.87 .net] >>319 ゴミみてーなロジックだな
321 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/05(火) 03:47:05.86 .net] これ ; デリミタっていうんだけどさ、よく打ち忘れるよね Rubyだとつけなくてよくなるんだけど ゴミって意味わかってんのかなこいつら
322 名前:大天使 ◆uL5esZLBSE mailto:sage [2011/07/05(火) 10:41:03.84 .net] よめもしないくせに
323 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 11:31:38.69 .net] ゴミを産む機械さんちーっす
324 名前:デフォルトの名無しさん [2011/07/09(土) 09:09:51.53 .net] a1k0n.net/2011/06/26/obfuscated-c-yahoo-logo.html
325 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 09:26:51.23 .net] > warnings which real programmers ignore わはは
326 名前:大天使 ◆uL5esZLBSE mailto:sage [2011/07/10(日) 01:57:25.78 .net] >>323 どうみてもお前そのものじゃん 今日はどんなゴミグラミングをやってきたんだ? せっかくこんなスレにいるんだから何か晒せよ 勿論 自分で書いたものをな 俺は晒した 俺にレスしたんだから次はテメーの番だ ↓ 3日以内に晒さなかったらテメーは逃げたってことで
327 名前:デフォルトの名無しさん mailto:sage [2011/07/19(火) 04:38:20.42 .net] 今保守してる8085のコードにいろいろあった。 R4SIFT: RLC RLC RLC RLC RET MSBとLSBのニブルをひっくり返すのに多用されてた。
328 名前:デフォルトの名無しさん mailto:sage [2011/07/19(火) 20:53:34.63 .net] ニブル反転だけで5行とか何なの?
329 名前:デフォルトの名無しさん mailto:sage [2011/07/19(火) 21:34:06.72 .net] アセンブラで7行はきついな。 COMを表示可能キャラクタだけで書き下してた人がいたし、そっちのほうがよくね?
330 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 03:53:34.74 .net] >>328 swap とかはこの石には無いよ。
331 名前:デフォルトの名無しさん mailto:sage [2011/07/27(水) 16:43:48.50 .net] >>329 16進ダンプで7行ってのはどうかなw
332 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 19:08:06.58 .net] 7行プログラミングとかアスペの象徴だな
333 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 21:34:28.71 .net] >>332 いや連中にゃ無理だよ
334 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 15:33:03.64 .net] 7行におさまってればいい、他人が読めなくてもいい、動けば良い この条件は、アスペプログラマが得意とする条件と一致する 普通に、他人にもわかりやすいように書けって方が難儀するだろうね マニュアル書いたり
335 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 15:47:19.77 .net] 遊びを遊びとして認識できない人のほうが・・・
336 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 17:27:42.21 .net] >>334 ある程度までは機械的に短縮できそうだけど 革命的な短縮は無理そうだな
337 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 19:51:46.04 .net] >>334 そうやってステレオタイプにしかものを見られないのはコミュ障の証拠。
338 名前:コテハンの名無しさん@hsp mailto:age [2011/11/28(月) 07:05:33.73 .net] mes"に" mes"ち" mes"ゃ" mes"ん" mes"ね" mes"る" mes"^ω^"
339 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 09:16:11.65 .net] 7行でテトリス作れますか?
340 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 10:07:25.86 .net] >>266
341 名前:デフォルトの名無しさん [2011/11/30(水) 17:42:19.35 .net] 7行の「ぷよぷよ」もあるよ。ググれば、すぐに見つかる。
342 名前:コテハンの名無しさん (愛知県) mailto:age [2011/11/30(水) 19:04:58.23 .net] >>338 wwww
343 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 15:37:41.26 .net] >>324 これすごいな
344 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 10:44:10.81 .net] ./>>324 > >>324 .txt awk '/25A/ {system("sleep 0.1");} {print;}' >>324 .txt # いや、ふと書きたくなってね。
345 名前:デフォルトの名無しさん [2012/01/17(火) 17:57:44.43 .net] Visual C++ 2010 Express で動作確認済 powl()を自作 long double Pow(long double x,long double y){if(x<0&&y-(int)y!=0)return 0; long double n,m,p,z,l,i,j,c,a;int b,t,f=1;y<0?y=-y,f=0:0;a=x,b=(int)y;i=n=p=1; for(;i++<=b;)f?n*=a:b?n/=a:0;if(x<0||y-(int)y==0)return n;c=n;for(t=0;t++<20;) {a=10,b=t;i=0,n=1;for(;i++<b;)n*=a;a=x,b=(int)(y*n)%10;i=0,n=1;for(;i++<b;)n*= a;z=n;for(j=0;j++<t;){for(l=0;l++<40;){for(i=n=1;i++<40;)n=((1/m*z)/n+n)/2.0; for(i=m=1;i++<40;)m=(n/m+m)/2.0;p=(m/p+p)/2.0;}z=p;}f?c*=z:c/=z;}return c;}
346 名前:uy mailto:sage [2012/01/19(木) 16:20:48.08 .net] お前たちはただ短くすればいいとか思っててアルゴリズム的な美しさが無いよね 小さなコードで物凄く多くのことが出来るようなのをかかないとじゃね? お前たちは使ってる言語も・・・アレだし・・・ >>319 これはヤバイ 再帰も使ってるし1行だし
347 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 16:47:00.77 .net] 流石uyさん・・・格が違ったでござる^^;;;
348 名前:uy mailto:sage [2012/01/19(木) 18:35:34.73 .net] >>347 >>319 はたったの1行で RubyをLispのように使える injectとevalを悪用してRubyの関数を呼べるようにしてある それに引き換え>>345 これはなんすかwwww powを自作って え。。。。?何がしたいの マジで意味がわからない そのpoowは普通のpowwwwよりもリファクタリングされてんのそれ?速度速いの? 本当にゴミだな 少しは見習ってほしい
349 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 09:53:44.17 .net] 名前欄にuyとあるのは荒らしなので今後はNGネームに指定した。
350 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:54:37.77 .net] >>319 これって末尾再帰じゃないよね? 実用しないだろうから問題にはならないけれど、いつかスタックオーバーフローしそう。
351 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:31:50.56 .net] 000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SEVENPRO. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 01 HELLO PIC X(12) VALUE "HELLO WORLD!". 000006 PROCEDURE DIVISION. 000007 STOP RUN. 000008*どうしろってんだよ
352 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:43:06.95 .net] わざわざ変数宣言しなくてもいいのにww
353 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:07:17.74 .net] そりゃだって普通に書いたらDISPLAYで終わっちまうじゃないすか
354 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 22:30:06.51 .net] 転 ttps://gist.github.com/1672254 Binary Tetris - 140byt.es A simplified variant of the classic tetris game done in less that 140 bytes of JavaScript. Source function(a,b,c,d,e){return d+=c, e=a|b<<d,d<0|a&b<<d&&(a=e= parseInt((a|b<<c).toString(d=32) .replace(/v/,""),d),b=new Date%2?1:3), [a,b,d,e]}
355 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 19:38:43.63 .net] NES GameGeineコード<=>アドレス?比較:値 変換。とりあえず8行 #!/usr/bin/perl -p $G=APZLGITYEOXUKSVN;$H='[0-9A-F]';if(/^[$G]{8}/){for(split(//,$G)){$G{$_}=$i++} for(split(//)){push(@_,$G{$_})}$_=sprintf("%04X?%02X-%02X\n",($_[3]&7)<<12|($_[ 4]&8)<<8|($_[5]&7)<<8|($_[1]&8)<<4|($_[2]&7)<<4|$_[3]&8|$_[4]&7|0x8000,($_[6]&8 )<<4|($_[7]&7)<<4|$_[5]&8|$_[6]&7,($_[0]&8)<<4|($_[1]&7)<<4|$_[0]&7|$_[7]&8)} elsif(/^($H{4})[?:]($H{2})-($H{2})/i){for(split(//,$G)){push(@G,$_)}($a,$k,$v)= (hex($1),hex($2),hex($3));@_=($v&7|($v>>4 )&8,($v>>4 )&7|($a>>4 )&8,($a>>4 )&7|8,( $a>>12 )|$a&8,$a&7|($a>>8 )&8,($a>>8 )&7|$k&8,$k&7|($k>>4 )&8,($k>>4 )&7|$v&8); $_='';for$a(@_){$_.=$G[$a]};$_.=$/}else{$_=''}
356 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 21:04:09.61 .net] >>355 入出力サンプルもPerl4も無いので動作未確認。Perl5 で -wc は通る。 #!/usr/bin/perl -n @H=APZLGITYEOXUKSVN=~/./g;$"='';$H='[0-9A-F]{2}';if(/^[@H]{8}/){@G{@H}=(0..16); push(@_,@G{/./g});printf("%04X?%02X-%02X\n",($_[3]&7)<<12|($_[4]&8)<<8|($_[5]&7 )<<8|($_[1]&8)<<4|($_[2]&7)<<4|$_[3]&8|$_[4]&7|32768,($_[6]&8)<<4|($_[7]&7)<<4| $_[5]&8|$_[6]&7,($_[0]&8)<<4|($_[1]&7)<<4|$_[0]&7|$_[7]&8)}elsif(/^($H$H)[?:]($ H)-($H)/i){push(@G,@H);$a=hex($1);$k=hex($2);$v=hex($3);print@G[$v&7|($v>>4 )&8, ($v>>4 )&7|($a>>4 )&8,($a>>4 )&7|8,($a>>12 )|$a&8,$a&7|($a>>8 )&8,($a>>8 )&7|$k&8,$k& 7|($k>>4 )&8,($k>>4 )&7|$v&8],$/}
357 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:13:28.95 .net] そのコードとやらはどんなフォーマット?
358 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 08:51:40.40 .net] JavaScript版は次のページ: ttp://homepage2.nifty.com/fcpar/rocky/fccode.html gameurawaza板の過去datに載ってた変換例には間違っているのもあって、 それで少しハマッタ。
359 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 09:22:05.74 .net] perl4対応: /〜/ の間に改行があるとparse errorになる。@_ に値が含まれている。 fccode.html の結果と比較して、Geanyコード生成の4文字目が違って来ていたので対応。 もちろん perl5 (5.10.1)でも動作確認した。 #!/usr/bin/perl -n @H=APZLGITYEOXUKSVN=~/./g;$H='[0-9A-F]{2}';if(/^[@H]{8}/){@G{@H}=(0..16);@_=@G{ /./g};printf("%04X?%02X-%02X\n",($_[3]&7)<<12|($_[4]&8)<<8|($_[5]&7)<<8|($_[1]& 8)<<4|($_[2]&7)<<4|$_[3]&8|$_[4]&7|32768,($_[6]&8)<<4|($_[7]&7)<<4|$_[5]&8|$_[6 ]&7,($_[0]&8)<<4|($_[1]&7)<<4|$_[0]&7|$_[7]&8)}elsif(/^($H$H)[?:]($H)-($H)/){$a =hex($1);$k=hex($2);$v=hex($3);print@H[$v&7|($v>>4 )&8,($v>>4 )&7|($a>>4 )&8,($a>> 4)&7|8,($a>>12 )&7|$a&8,$a&7|($a>>8 )&8,($a>>8 )&7|$k&8,$k&7|($k>>4 )&8,($k>>4 )&7| $v&8],$/}
360 名前:デフォルトの名無しさん [2012/03/28(水) 11:12:27.38 .net] FONTX2形式と .hex の変換。 .hex や .bit は openlab.ring.gr.jp/efont/ のビットマップフォントのソースで使われる形式 ----------^ fntx2hex.pl ( date:112-03-28 time:11:09 ) ------< cut here #!/usr/bin/perl die" file?"if$#ARGV<0;$_=shift;open(_)||die"open? $_";binmode _;read(_,$_,6);$m =FONTX2;die"$m?"if!/^$m$/;read(_,$_,11);($n,$w,$h,$t)=unpack(A8C3,$_);$b=$h*($w +7>>3 );$p=$w<9?C:n;sub G{for$e($_[0]..$_[1]){read(_,$_,$b);next if/^\0+$/;$_= unpack('H*',$_);y/a-f/A-F/;printf"%04X:$_\t# ".pack($p,$e).$/,$e}}print"$w $h ";if($t){read(_,$_,1);for(1..ord){read(_,$_,4);($s,$e)=unpack('v2',$_);push(@S, $s);$E{$s}=$e}for$s(@S){&G($s,$E{$s})}}else{&G(0,255)}close _ ----------$ fntx2hex.pl ( lines:7 ) ------------------------< cut here ----------^ hex2fntx.pl ( date:112-03-28 time:11:10 ) ------< cut here #!/usr/bin/perl $_=<>;/^(\d+)\s+(\d+)/;$s=pack(C3,$1,$h=$2,$t=$1>8);$H='[0-9A-F]';while(<>){ $G{hex($1)}=pack('H*',$2)if/^($H{4}):($H+)/}print FONTX2.pack(A8,$ARGV[0]).$s; if($t){sub V{$_.=pack(v,@_)}for$s(@_=sort(keys(%G))){next if++$p==$s;&V($p-1)if $p>1;&V($p=$s)}&V($p);print pack(C,length>>2 ).$_;for(@_){print$G{$_}}}else{for( 0..255){print$G{$_}||"\0"x$h}} ----------$ hex2fntx.pl ( lines:6 ) ------------------------< cut here おまけ: hex -> bit ----------^ hex2bit.pl ( date:112-03-28 time:11:14 ) -------< cut here #!/usr/bin/perl $_=<>;($pxlsz_x,$pxlsz_y)=/^(\d+)\s+(\d+)/?($1,$2):(16,16); while(<>){next if!s/:([0-9A-F]+)//;print"$`<<$'";$G=pack('H*',$1); $width=$pxlsz_x; $line_bytes=($width+7)>>3 ; for($y=0,$p=0;$y<$pxlsz_y;++$y){ $_=unpack('B*',substr($G,$p,$line_bytes));$p+=$line_bytes; tr/01/.@/;print substr($_,0,$width).$/} print$/} ----------$ hex2bit.pl ( lines:8 ) -------------------------< cut here
361 名前:デフォルトの名無しさん [2012/04/26(木) 08:17:39.23 .net] 七行的にperlコードを詰め込むスクリプト。DOS perl4 対応。 #!/usr/bin/perl $N=80;sub E{s/^((\\$s|[^$s])*$s){$e}[c-x]*//;$T.=$&}sub O{if($c+($l=length$T)>= $N){print$/;$c=0}elsif($S){print" ";++$l}print$T;$c+=$l;$W=$T=~/\w$/?1:0}while( <>){last if/^__END__/;if(/^#!/){print;next}s/\s*$//;while(length){last if/^#/; next if s/^\s+//;$S=0;&O if';'eq$T&&!/^}/;if(s/^;//){$T=$&;next}if(s|^[/"']||){ $T=$s=$&;$e=1;&E}elsif(s@^\$([\d\W/]|\w+|#\w+)@@||s/^[!=]~//||s/^(\W)\1?=?//){ $T=$&}elsif('$'ne$T&&s/^([sym]|tr)([^=}\w\s])//){$e='m'eq$1?1:2;$T=$1.($s=$+); $T=~s/^tr$/y/;$s=~s/|/\\$&/;&E;$S=$W}else{s/^\w+:?//;$T=$&;$S=$W}&O}}print$/
362 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 17:17:31.99 .net] 詰め込みスクリプト修正 / が // になってしまったり、正規表現かの判定を修正 ファイルテスト演算子 -X の途中で改行しないようにした #!/usr/bin/perl $N=80;sub E{s/^((\\$s|[^$s])*$s){$e}[c-x]*//;$T.=$&}sub R{$T&&$T!~/^[\$\d]/}sub O{if($c+$S+($l=length$T)>=$N){print$/;$c=0}elsif($S){print" ";++$l}print$T;$c+= $l;$W=$T=~/\w$/}while(<>){last if/^__END__/;if(/^#!/){print;next}s/\s*$//;while (length){last if/^#/;next if s/^\s+//;$e=1;$S=0;&O if';'eq$T&&!/^}/;if(s/^;//){ $T=$&;next}if(&R&&s!^/!!||s/^["']//){$T=$s=$&;&E}elsif(s@^\$([\d\W/]|#?\w+)@@|| s/^([!=]~|-\w|(\W)\+?=?)//){$T=$&}elsif(&R&&s/^([sym]|tr)(\W)//){$e+='m'ne$1;$T =$1.($s=$+);$s=~s/|/\\$&/;&E;$S=$W}else{s/^\w+:?//;$T=$&;$S=$W}&O}}print$/
363 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 02:57:31.66 .net] #include<stdio.h> /* 七行正規表現マッチャ ".*^$"のみ対応. */ #define R return /* 再帰降下アルゴリズム自体はカーニハンとパイクのもの */ typedef char*x;typedef int n;char z=0;n m(x r,x t){if(*r==94)R h(r+1,t);do{if(h (r,t))R 1;}while(*t++-z);R 0;}n h(x r,x t){if(*r==z)R 1;if(r[1]==42)R s(*r,r+2, t);if(*r==36&&r[1]==z)R*t==z;R*t-z&&(*r==46||*r==*t)?h(r+1,t+1):0;}n s(n c,x r, x t){do{if(h(r,t))R 1;}while(*t-z&&(*t++==c||c==46));R 0;}n main(n c,x*v){puts( c-3?"Usage: ./7regex pattern string":(c=m(v[1],v[2]))?"Match":"No match");R!c;}
364 名前:363 mailto:sage [2012/05/04(金) 03:20:51.76 .net] 余計なchar z=0が残ってた。 #include<stdio.h> /* 七行正規表現マッチャ ".*^$"のみ対応. */ #define R return /* 再帰降下アルゴリズム自体はカーニハンとパイクのもの */ typedef char*x;typedef int n;n m(x r,x t){if(*r==94)R h(r+1,t);do{if(h(r,t))R 1 ;}while(*t++);R 0;}n h(x r,x t){if(!*r)R 1;if(r[1]==42)R s(*r,r+2,t);if(*r==36 &&!r[1])R!*t;R*t&&(*r==46||*r==*t)?h(r+1,t+1):0;}n s(n c,x r,x t){do{if(h(r,t)) R 1;}while(*t&&(*t++==c||c==46));R 0;}n main(n c,x*v){puts(c-3?"Usage: ./7rege" "x pattern string\nSupports '.*^$'.":(c=m(v[1],v[2]))?"Match":"No match");R!c;}
365 名前:デフォルトの名無しさん [2012/05/28(月) 11:08:44.97 .net] uuencode/uudecode perl4対応。 ./uu.pl -e <ファイル名> → 標準出力にエンコード結果 ./uu.pl <入力ファイル> → 入力ファイル内で指定のファイル名に出力 #!/usr/bin/perl if($ARGV[0]eq'-e'){shift;$_=$ARGV[0];printf"begin %o $_\n",((stat)[2]&511||420) ;sub E{$j=64if!$j;print pack('C*',32+$j,@_).$E}$E=$/;$/=undef;for(split(//,<>)) {$d=$d<<8|ord;$i+=8;while($i>5){$c=($d>>($i-=6))&63;$c=64if!$c;push(@_,$c+32)} next if++$j<45;&E;$j=0;@_=()}$E="\n`\nend\n";&E;exit}while(<>){if(@_){if(/^end/ ){close _;chmod@_;@_=();next}$d=0;$i=0;for(split(//,substr($_,1))){$d=$d<<6|((- 32+ord)&63);next if($i+=6)<8;print _ pack(C,$d>>($i-=8))}next}s/\r?\n$//;next if!/^begin (\d+)/;@_=(eval"0$1",$');open(_,">$'")||die;binmode _}
366 名前:デフォルトの名無しさん [2012/06/28(木) 15:39:49.43 .net] IPSパッチ充てる #!/usr/bin/perl if($#ARGV!=2){print"Usage: $0 ORG IPS NEW\n";exit}($I,$P,$O)=@ARGV;open P; binmode P;read(P,$_,5);/^PATCH$/||die;open(I)||die;open(STDOUT,">$O")||die if$O ;binmode I;binmode STDOUT;$S=16384;sub C{if(($l-=tell I)>0){while($l>$S){read(I ,$_,$S);print;$l-=$S}read(I,$_,$l);print}}sub L{read(P,$_,2);$l=unpack(n,$_)} while(read(P,$_,3)&&!/^EOF$/){$l=unpack(N,"\0$_");&C;if(&L){read(P,$_,$l)}else{ &L;$_=getc(P)x$l}seek(I,length,1);print}$l=-s I;&C;close P;close I
367 名前:デフォルトの名無しさん [2012/07/03(火) 15:12:34.44 .net] IPSパッチ充て、改良 * オフセット値が EOF と同値の時でも、動くように eof() で判定 * DOS版Perl4で 長い連長圧縮(RLE)でも正しく出力するように修正 #!/usr/bin/perl if($#ARGV!=2){print"Usage: $0 ORG IPS NEW\n";exit}($I,$P,$O)=@ARGV;open P; binmode P;read(P,$_,5);/^PATCH$/||die;open(I)||die;open(STDOUT,">$O")||die if$O ;binmode I;binmode STDOUT;$S=16384;sub C{if(($l-=tell I)>0){while($l>$S){read(I ,$_,$S);print;$l-=$S}read(I,$_,$l);print}}sub L{read(P,$_,2);$l=unpack(n,$_)} while(read(P,$_,3)&&!eof(P)){$l=unpack(N,"\0$_");&C;if(&L){read(P,$_,$l)}else{& L;$C=getc(P);$s=$l;while($s>$S){print$C x$S;$s-=$S}$_=$C x$s}seek(I,$l,1);print }if(!/^EOF$/){print STDERR"not EOF:$_\n"}$l=-s I;&C;close P;close I
368 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 15:03:42.98 .net] perlばかりだな・・・
369 名前:デフォルトの名無しさん mailto:sage [2012/07/12(木) 20:50:52.13 .net] そもそもの発端がperlだったからねえ
370 名前:デフォルトの名無しさん mailto:sage [2012/07/12(木) 23:06:16.74 .net] perl 7行でDVDのデコード(?)だっけ。
371 名前:デフォルトの名無しさん [2012/07/16(月) 20:47:10.30 .net] 標準出力にWAVを吐くプログラム。 .wavファイルにリダイレクトしてお楽しみください。 #include <stdio.h> #define L (8000*8) #define F(i) ((i)*(((i)>>8 |(i)>>16 )&((i)>>1 )&((i)<<2))) main(){int i=0;char*p,b[L];for(p=b;i<L;i++)*p++=F(i);printf("RIFF");for(i=0;i<4 ;)putchar((L-8)>>i++*8&255);fwrite("WAVEfmt \x10\0\0\0\1\0\1\0\x40\x1f\0\0" "\x40\x1f\0\0\1\0\x8\0data",32,1,stdout);for(i=0;i<4;)putchar(L>>i++*8&255); for(i=0;i<L;)putchar(b[i++]);}
372 名前:デフォルトの名無しさん [2012/07/27(金) 13:25:49.95 .net] IPS差分作成 #!/usr/bin/perl if($#ARGV<1){print"Usage: $0 OLD NEW >IPS\n";exit}($O,$N,$o)=@ARGV;open(O)&& open(N)||die;binmode O;binmode N;open(STDOUT,">$o")if$o;binmode STDOUT;print "PATCH";sub P{return if!($l=length);$c=substr($_,0,1);$l=pack('n',$l);$r=$c;$r =~s/^[.?+*(){}\[\]|\/\\^\$]/\\$&/;print substr(pack(N,$o),1),/^$r{4,}$/? "\0\0$l$c":"$l$_"}read(O,$a,-s O);read(N,$n,-s N);for($i=0;$i<-s N;++$i){if( substr($a,$i,1)ne($c=substr($n,$i,1))){$o=$i if!length;$_.=$c;if(($l=length)>= 0xffff){&P;$_=''}}else{&P;$_=''}}&P;print"EOF";close O;close N;close STDERR IPSファイル・ダンプ #!/usr/bin/perl open(STDIN,$_)if$_=pop@ARGV;binmode STDIN;sub G{$i=pop@_;$_='';while($i--){$_.= getc}$_}sub N{$n=unpack(n,&G(2))}&G(5);if(!/^PATCH$/){print"not IPS\n";exit} while(!eof(STDIN)){&G(3);last if/^EOF$/;print unpack('H*',$_).' ';if(!&N){&N; print unpack('H*',getc).' x '.$n.$/;next}print$n,' ',unpack('H*',&G($n)),$/}
373 名前:uy mailto:sage [2012/07/29(日) 01:34:56.02 .net] あんまし全体読む気はないけど {print"not IPS\n";exit} とか {puts"not IPS";exit} でいいんじゃねえの あと >close O;close N;close STDERR closeしまくってるけど、ショートコーディングにcloseとか必要なの? あとやたらIF文使ってるけど、そんくらい演算子で書き換えろよ else使うとかまずありえねーわ >for($i=0;$i<-s N;++$i){if( とか $i=0 って本当にここで0初期化必要だったの? どこかの適当なメソッドで戻り値0返してる奴あるんじゃねえの? くだらねーソースあげんなカス あとさぁ最後に 0xffff は 4**8 だろボケが
374 名前:デフォルトの名無しさん [2012/07/31(火) 11:30:57.46 .net] .ips バイナリ差分ファイル作成 改良: #!/usr/bin/perl if($#ARGV<1){print"Usage: $0 OLD NEW >IPS\n";exit}($O,$N,$o)=@ARGV;open(O)&& open(N)||die;binmode O;binmode N;open(STDOUT,">$o")if$o;binmode STDOUT;print "PATCH";sub P{return if!($l=length);$c=pack('n',$l);print substr(pack(N,$o),1), $r>3&&$r==$l?"\0\0$c$s":"$c$_";$r=0}read(O,$a,-s O);read(N,$n,-s N);while($i++< -s N){if(substr($a,$i,1)ne($c=substr($n,$i,1))){$o=$i,$s=$c if!length;$_.=$c;$r ++if$s eq$c;next if($l=length)<65535}&P;$_=''}&P;print"EOF" puts は C の関数かと。perlの標準には無いみたい。 4**8 = 65536 = 0x10000 なんですけど。。。
375 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 22:05:03.16 .net] 綺麗に書きなおしたバージョンとかも見せてくれると未熟な俺も勉強になるんだが
376 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 17:08:03.30 .net] つ Perl::Tidy
377 名前:デフォルトの名無しさん mailto:sage [2012/10/09(火) 01:30:03.88 .net] 初めて来たけどめっちゃ過疎ってるね。4年て
378 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 11:35:02.14 .net] まあ、板自体というかにちゃん自体が過疎ってるからねぇ
379 名前:デフォルトの名無しさん mailto:sage [2012/10/27(土) 20:42:53.51 .net] みんなどこいってんの?
380 名前:デフォルトの名無しさん mailto:sage [2012/10/29(月) 17:56:09.31 .net] 見守られることも無く
381 名前:デフォルトの名無しさん mailto:sage [2012/12/19(水) 13:42:28.80 .net] 640×360(16:9)か480×360(4:3) HDなら1280x720にするのが無難 元が1920x1080ならそのままでいいだろ 別に自分から解像度を下げてUPする必要はない 訂正、960x720ね
382 名前:デフォルトの名無しさん [2013/05/27(月) 17:27:36.47 .net] 保守
383 名前:デフォルトの名無しさん [2013/09/04(水) 10:12:02.57 .net] sudo halt
384 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 12:40:09.01 .net] てst
385 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 23:57:55.27 ID:ECpqv1dR.net] nCr表示、n,rの上限は999999 #include<stdio.h> #include<stdlib.h> int r,n,i,a[999999];int main(int c,char**v){if(c>2&&(n=atoi(v[1]))>=(r=atoi(v[2 ]))&&r>0)for(--*a;*a<n-r;puts("")){for(c=0>*a;i>0&&a[i]>=n-r+i;)c=i--;for(++a[i ];c&&i+1<r;i++)a[i+1]=a[i]+1;for(c=0;c<r;)printf("%d ",a[c++]);}return 0;}
386 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 17:52:35.14 ID:t6dxZaMZ.net] SJIS/JIS/EUC/UTF8用の改行変換 exec src dst n nが0ならCR、2ならCR+LF、3ならLF #include<stdio.h> FILE*r,*w;int t,d;f(){d=d&&!fprintf(w,"\r\0\r\n"+t);}main(c,v)char**v;{if(c>3&& (r=fopen(v[1],"rb"))&&(w=fopen(v[2],"wb")))for(t=*v[3]-48;~(c=fgetc(r));)c-13&& c-10?f(),fputc(c,w):(d&c/6&&f(),d+=c/6);f();r&&fclose(r);return w&&fclose(w);}
387 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 10:07:30.44 ID:6uoLiniK.net] ごめん、何言っているのか分からない。 漢字コード(エンコーディング)と改行文字に何の関係があるんだ?
388 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 13:50:38.65 ID:zzqObK8g.net] UTF-16
389 名前:デフォルトの名無しさん mailto:sage [2014/04/01(火) 21:01:00.03 ID:iTOHjXEl.net] >>386 にUTF16対応追加(CPUとエンディアンが違うBOM無しUTF16は非対応) exec src dst n uでUTF16、u省略なら386互換 #include<stdio.h> FILE*r,*w;short t,d,e,u,z,x;o(){u?fwrite(&z,1,2,w):fputc(z,w);}f(i){for(i=d?t:1 ;d="\r\0\r\n"[i++];o())z=d<<e*u*8;}main(c,v)char**v;{if(c>3&&(r=fopen(v[1],"rb" ))&&(w=fopen(v[2],"wb")))for(u=c>4,t=*v[3]-48;u?fread(&x,1,2,r):~(x=fgetc(r));c -13&&c-10?f(),o(z=x):(d&c/6&&f(),d+=c/6))c=u?e=e||~x==1,z=e?255&x>>8 |x<<8:x:x;f ();r&&fclose(r);return w&&fclose(w);}
390 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 01:41:07.69 ID:2dOC/21k.net] C/C++コメント抽出フィルタ UTF-16だと動かないけど仕方ないよねw #include<stdio.h> char*p,b[999999];int t,s,d;FILE*r;main(c,v)char**v;{if(c>1?r=fopen(v[1],"r"):0) for(p=b;fgets(p,b-p+999999,r);){for(;c=*p;)*p++*=c-13&&c-10;if(!*b||*--p-92){ for(p=b;c=*p++;)if(t)c-42||*p-47||(puts("*/"),t=!p++),t&&putchar(c);else if(s)s *=c!=s,c-92||*p&&p++;else switch(c){case 47:if(*p==47)for(puts(p-1);*++p;);t=*p ==42?printf("/*",p++):0;break;case 39:case 34:s=c;}t&&puts(""),p=b;}}return 0;}
391 名前:デフォルトの名無しさん mailto:sage [2014/04/12(土) 23:06:57.08 ID:zLkUu0xk.net] >>390 の修正版 #include<stdio.h> char*p,b[999999];int t,s,d;FILE*r;main(c,v)char**v;{if(c>1?r=fopen(v[1],"r"):0) for(p=b;fgets(p,b-p+999999,r);){for(;*p&&*p-13&&*p-10;)p++;*p=0;if(!*b||*--p-92 ){for(p=b;c=*p++;)if(t)c-42||*p-47||(puts("*/"),t=!p++),t&&putchar(c);else if(s )s*=c!=s,c-92||*p&&p++;else switch(c){case 47:if(*p==47)for(puts(p-1);*++p;);t= *p==42?printf("/*",p++):0;break;case 39:case 34:s=c;}t&&puts(""),p=b;}}return r &&fclose(r);} 削ってる途中でバグってたorz 直したら7行目に逝ったので省略してたfcloseを復活
392 名前:デフォルトの名無しさん mailto:sage [2014/05/30(金) 22:21:32.79 ID:W7NqZCBf.net] 消えろカス
393 名前:デフォルトの名無しさん [2014/11/21(金) 21:07:08.76 ID:cD0Ytuxe.net] オセロを作ったので投下。前にあったのより短い #include <stdio.h> int b[82],x,X,Y,t,a,i,j,f,p,d[]={-9,-8,1,10,9,8,-1,-10};void C(){a=0;if(b[X]==3 )for(i=8;i--;){for(j=0,Y=X+d[i];b[Y%81]==!t;Y+=d[i])j++;if(j&&b[Y%81]==t)for(;j --+2;Y-=d[i],a++)f?b[Y]=t:0;}}void main(){ for(X=82;X--;p=b[X]=X%9&&X>8?X-40&& X-50?X-41&&X-49?3:0:1:2);for(;p;x=f=0){for(X=8;X++<81;printf(" %c","O@\n-"[b[X] ]))C(),a?x=X:0;x?Y=0,t?X=x:scanf("%d%d",&X,&Y),f=X+=Y*9,C(),t=a?p=2,t:!t:(puts( "PASS"),p--);t=!t;}} ターン表示ありバージョン #include <stdio.h> int b[83],x,X,Y,t,a,i,j,f,p,d[]={-9,-8,1,10,9,8,-1,-10};void C(){a=0;if(b[X]==3 )for(i=8;i--;){for(j=0,Y=X+d[i];b[Y%81]==!t;Y+=d[i])j++;if(j&&b[Y%81]==t)for(;j --+2;Y-=d[i],a++)f?b[Y]=t:0;}}void main(){for(X=82;X--;p=b[X]=X%9&&X>8?X-40&&X- 50?X-41&&X-49?3:0:1:2);for(;p;x=f=0){b[82]=t;for(X=7;X++<82;printf(" %c", "O@\n-"[b[X]]))C(),a?x=X:0;x?Y=0,t?X=x:scanf("%d%d",&X,&Y),f=X+=Y*9,C(),t=a?p=2 ,t:!t:(puts("PASS"),p--);t=!t;}}
394 名前:デフォルトの名無しさん mailto:sage [2014/11/21(金) 22:07:47.97 ID:jmV9AQ9b.net] なんて美しくないスレだ
395 名前:デフォルトの名無しさん mailto:sage [2014/11/23(日) 10:52:37.42 ID:U8weQpWK.net] ベーマガの昔から詰め込みプログラミングというのはそういうものだに
396 名前:デフォルトの名無しさん [2016/03/29(火) 09:39:42.11 ID:/c8bAcK4.net] サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足 サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題 春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残 コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題 マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了 校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント 高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
397 名前:デフォルトの名無しさん mailto:sage [2016/05/14(土) 07:51:04.99 ID:bZ012Smw.net] #include<stdio.h> #include<stdint.h> uint8_t A=1,B=3,C=1,x,y,z,w=1,t;int r(){t=x^(x<<A);x=y;y=z;z=w;return w^=(w>>B) ^t^(t>>C);}int main(void){int32_t c=0;do r(),++c;while(x||y||z||1-w);printf( "%x,%u\n",c,c);return 0;} 8bit版のxorshift、mainで出力される通り周期は(2^^32)-1 x,y,z,wは全て0でないなら初期値に制限なし A,B,Cは(3,2,3),(3,2,5),(6,1,3),(7,1,6),(7,2,1)でも良い
398 名前:デフォルトの名無しさん [2018/05/23(水) 23:00:38.14 ID:Au5e7VGg.net] 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 X7XVQ
399 名前:デフォルトの名無しさん [2018/07/04(水) 23:07:49.71 ID:gFgZc5FG.net] A92
400 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 12:40:22.50 ID:uTPDH9XV.net] X7XVQ
401 名前:デフォルトの名無しさん [2019/01/12(土) 09:00:46.72 ID:IbEoEGmZ.net] またはあったのか