七行プログラミング part6

1 :デフォルトの名無しさん :2008/07/06(日) 23:00:49
7行×79文字なら言語は問いません。
過去作品は、もしかしたら>>2-10あたりに。

前スレ
http://pc11.2ch.net/test/read.cgi/tech/1142467359/
part4
http://pc8.2ch.net/test/read.cgi/tech/1051703369/
part 3
http://pc2.2ch.net/tech/kako/1033/10331/1033143528.html
part 2
http://pc3.2ch.net/tech/kako/1018/10188/1018840143.html
part 1
http://pc.2ch.net/tech/kako/984/984182993.html
2 :デフォルトの名無しさん :2008/07/06(日) 23:12:00
>>1
3 :デフォルトの名無しさん :2008/07/06(日) 23:20:55
>>1
4 :デフォルトの名無しさん :2008/07/06(日) 23:26:19
●作品集
http://pc2.2ch.net/test/read.cgi/tech/1033143528/5-15,25

Part 2
http://pc3.2ch.net/test/read.cgi/tech/1018840143/900-906

Part 4
http://pc8.2ch.net/test/read.cgi/tech/1051703369/993-995

Part 5
http://pc11.2ch.net/test/read.cgi/tech/1142467359/982-984
5 :デフォルトの名無しさん :2008/07/07(月) 13:42:19
↓7行で乙
6 :デフォルトの名無しさん :2008/07/07(月) 19:05:55
print'''■■■■■■■__
_____■___
___■■____
_■■______
■_______■
■_______■
_■■■■■■■_'''
7 :デフォルトの名無しさん :2008/07/07(月) 19:51:21
g=:(],],.])^:[(' '(<2 1)}]\4$' *')"_

シェルピンスキーのギャスケット in J
8 :デフォルトの名無しさん :2008/07/07(月) 19:59:15
alert('\u003e\u003e\u0031\u000a\u4E59')
9 :デフォルトの名無しさん :2008/07/07(月) 21:10:27
<body id=D onkeydown=K=event.keyCode-38 onload="Z=X=[B=A=12];function Y(){for(C
=[q=c=i=4];f=i--*K;c-=!Z[h+(K+6?p+K:C[i]=p*A-(p/9|0)*145)])p=B[i];for(c?0:K+6?h
+=K:t?B=C:0;i=K=q--;f+=Z[A+p])k=X[p=h+B[q]]=1;h+=A;if(f|B)for(Z=X,X=[l=228],B=[
[-7,-20,6,h=17,-9,3,3][t=++t%7]-4,0,1,t-6?-A:2];l--;)for(l%A?l-=l%A*!Z[l]:(P+=
k++,c=l+=A);--c>A;)Z[c]=Z[c-A];for(S=P;i<240;S+=X[i]|(X[i]=Z[i]|=++i%A<2|i>228)
?'':'Q')i%A||(S+='\n');D.innerText=S;Z[5]||setTimeout(Y,i-P)}Y(h=K=t=P=0)">
10 :デフォルトの名無しさん :2008/07/07(月) 21:37:11
B=:'0123456789+/',~a.{~,(a.i.'Aa')+/i.26
enc=:3 :'(B{~#._6[\,(8#2)#:a.i.y),(0 2 1 i.3|#y)#''='''
dec=:3 :'(a.{~#._8[\,(6#2)#:B i.y)}.~_2>.(i.&''=''-#)y'

BASE64エンコード&デコード in J
11 :デフォルトの名無しさん :2008/07/07(月) 22:06:01
>>9
なにこれ
12 :デフォルトの名無しさん :2008/07/07(月) 22:09:14
前スレで7行ASMってネタ出てたけど、実際どこまで出来るものかな?
13 :デフォルトの名無しさん :2008/07/07(月) 22:33:45
org 100h
mov ah,9
mov dx,msg
int 21h
mov ax,4c00h
int 21h
msg db "Hello, world!$"

7行でHello, world!
14 :デフォルトの名無しさん :2008/07/07(月) 22:39:18
アセンブリはCPUやコンパイラやOSによってかなり依存するからなぁ
>>13はx86/DOS/NASMか
15 : :2008/07/07(月) 23:00:18
http://codepad.org/LN7ZIsBO

↑こういうコードがかけるらしい。qsortの第4引数が

int strcmp(const char**a, const char**b) {
while(**a == **b) {
if(**a == '\0')
return 0;
(*a)++; (*b)++;
}
return **a - **b;
}

をコンパイルしたコードだとか。C言語で無名関数を渡す方法は他にもあるのかな?
こういうのもゴルフのテクニックのひとつ?
16 :デフォルトの名無しさん :2008/07/08(火) 00:03:40
>>15
partIあたりに、

int main=0xc3;

ってのがあったぜ。

>15にしろ上のコードにしろ、実行環境依存するから美しくはないが
面白い発想ではあるな
17 :デフォルトの名無しさん :2008/07/08(火) 01:09:18
もう機械語でいいじゃん
18 :デフォルトの名無しさん :2008/07/08(火) 01:17:39
短くならなくね?
19 :デフォルトの名無しさん :2008/07/08(火) 02:31:19
diffとpatchコマンドをそれぞれWin32用に7行でってのは既出ネタかな。
もしまだだったら面白そうだからやってみようと思ってたり。

暇な人用仕様を念のため。

・Cベースのパッチ作成&適用ツール
・差分ファイルのフォーマットは自由。7行diffで書き出した差分ファイルで7行patchが正常に動けばOK。
・テキスト関連の機能はなし。あくまでも差分書き出しと差分適用に限定。
・ディレクトリ差分、複数ファイルの差分をひとつの差分ファイルにまとめる機能も省略。

差分作成:diff.exe old.exe new.exe update.diff
差分適用:patch.exe old.exe update.diff

このネタのミソは、いかに差分を小さくする工夫があるか(同一パターンの発見精度の高さ)だよなぁ
20 :デフォルトの名無しさん :2008/07/08(火) 03:50:25
ん?

/*diff.c*/
#include<windows.h>
main(int c,char**v){CopyFile(v[2],v[3],1);}

/*patch.c*/
#include<windows.h>
main(int c,char**v){CopyFile(v[2],v[1],0);}
21 :デフォルトの名無しさん :2008/07/08(火) 03:56:57
それは無関係なファイルも上書きしてしまうからパッチになってない。
22 : :2008/07/08(火) 04:16:16
http://codepad.org/xZjkIm7R
asmも使えることを確認した。実行環境依存のものだけはここで通るように条件つけたら?
23 :デフォルトの名無しさん :2008/07/08(火) 04:37:10
なんで特定のOSや特定のCPUに限定する必要があるのか理解できん
24 : :2008/07/08(火) 04:38:34
http://codepad.org/fozoQIdR
前スレのを試してみた。
http://pc11.2ch.net/test/read.cgi/tech/1142467359/879
25 : :2008/07/08(火) 04:42:13
>>23
前スレで#include <windows.h> を連発されてウザかったから。
26 :デフォルトの名無しさん :2008/07/08(火) 04:43:33
unix板でも篭ってれば見なくて済むよ。
27 : :2008/07/08(火) 04:45:55
>>26
提案しただけで命令したわけではないし、>>26にUNIX板の使用を強制されるいわれもない。
28 :デフォルトの名無しさん :2008/07/08(火) 04:46:35
アドバイスしただけ
29 : :2008/07/08(火) 04:48:59
とてもそういう風には読めないね。
30 :デフォルトの名無しさん :2008/07/08(火) 04:56:32
文章力がないだけだな
31 : :2008/07/08(火) 05:04:10
>>30























氏ね
32 :デフォルトの名無しさん :2008/07/08(火) 05:32:50
反論できなくなったら「氏ね」か。
頭のほどが知れるわ
33 : :2008/07/08(火) 05:51:27
       / \  /\  キリッ
.     / (ー)  (ー)\ "反論できなくなったら「氏ね」か。"
    /   ⌒(__人__)⌒ \ "頭のほどが知れるわ "
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ だっておー!!!
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
34 :デフォルトの名無しさん :2008/07/08(火) 09:25:15
言っとくけど俺をあまりナメないほうがいいよ
vipでコテハンやってるしこのスレ潰すくらいの影響力は持ってるから
くだらないことで刺激して後悔しないようにね

[Home]