Javascript-283 327文字
編集:
Alconjaからの提案を実装した後、ここに私の新しいバージョンがあります。
m=Math.random;function y(v){return "ASS|KKK|SHT|666".indexOf(v)<0&&v.indexOf("69")<0?0:!0}function c(){return String.fromCharCode(m()*26+65)}for(i=0;i<200;i++){do {do {n=(m()+"").slice(2,5)}while(y(n));do {l=c()+c()+c()}while(y(l));r=l+"-"+n}while(o.indexOf(r)>=0);o+=r+"\n"}alert(o)
/* 1 line - 283 Characters */
1)変数:sを削除し、リテラルを使用: "\ n" [-4] [323]
2) "var o =" "、i、r、n、l、" [-17] [306]
3)削除Variable:tおよびuse literal: "ASS | KKK | SHT | 666" [-4] [302]
4)m = Math.randomを設定し、代わりに "m"を使用[-7] [296]
5)(m( m()。toString()ではなく)+ "")[-6] [290]
6)不要な「;」を削除 [-7] [283]
旧バージョン:Javascript-327文字
改善の余地があると確信しています...コードゴルフはかなり経験が浅いです:
var o="",s="\n",i,r,n,l,t="ASS|KKK|SHT|666";function y(v){return t.indexOf(v)<0&&v.indexOf("69")<0?0:!0;}function c(){return String.fromCharCode(Math.random()*26+65);}for(i=0;i<200;i++){do {do {n=Math.random().toString().slice(2,5);}while(y(n));do {l=c()+c()+c();}while(y(l));r=l+"-"+n;}while(o.indexOf(r)>=0);o+=r+s;}alert(o);
/* 1 line - 327 Characters */
「未縮小」変数/関数名を使用したフォーマット済みの「Ungolfed」バージョンを次に示します。
var outp="",lsep="\n",ndx,res,nbr,ltr,tbl="ASS|KKK|SHT|666";
function fnvfy(vinp){
return tbl.indexOf(vinp)<0&&vinp.indexOf("69")<0?0:!0;
}
function fnchr(){
return String.fromCharCode(Math.random()*26+65);
}
for(ndx=0;ndx<200;ndx++){
do {
do {
nbr=Math.random().toString().slice(2,5);
}
while(fnvfy(nbr));
do {
ltr=fnchr()+fnchr()+fnchr();
}
while(fnvfy(ltr));
res=ltr+"-"+nbr;
}
while(outp.indexOf(res)>=0);
outp+=res+lsep;
}
alert(outp);
これは、ブラウザのお気に入り/ブックマークのURLに貼り付けることができる「デバッグ」バージョンです。出力は、「alert()」ではなく、新しい「ウィンドウ」上の「TEXTAREA」に配置されます。
javascript:(function(){var outp="",lsep="\n",ndx,res,nbr,ltr,tbl="ASS|KKK|SHT|666";function fnvfy(vinp){return tbl.indexOf(vinp)<0&&vinp.indexOf("69")<0?0:!0;}function fnchr(){return String.fromCharCode(Math.random()*26+65);}for(ndx=0;ndx<200;ndx++){do {do {nbr=Math.random().toString().slice(2,5);}while(fnvfy(nbr));do {ltr=fnchr()+fnchr()+fnchr();}while(fnvfy(ltr));res=ltr+"-"+nbr;}while(outp.indexOf(res)>=0);outp+=res+lsep;}var x=window.open();x.document.write('<head>\n</head>\n<body>\n<form name=sa><textarea name=t rows=25 cols=80 wrap>'+outp+'</textarea><br />\n</body>\n');x.document.close();})()
/* */
フォーマットされた「デバッグ」バージョンは次のとおりです。
javascript:
(function(){
var outp="",lsep="\n",ndx,res,nbr,ltr,tbl="ASS|KKK|SHT|666";
function fnvfy(vinp){
return tbl.indexOf(vinp)<0&&vinp.indexOf("69")<0?0:!0;
}
function fnchr(){
return String.fromCharCode(Math.random()*26+65);
}
for(ndx=0;ndx<200;ndx++){
do {
do {
nbr=Math.random().toString().slice(2,5);
}
while(fnvfy(nbr));
do {
ltr=fnchr()+fnchr()+fnchr();
}
while(fnvfy(ltr));
res=ltr+"-"+nbr;
}
while(outp.indexOf(res)>=0);
outp+=res+lsep;
}
var x=window.open();
x.document.write('<head>\n</head>\n<body>\n<form name=sa><textarea name=t rows=25 cols=80 wrap>'+outp+'</textarea><br />\n</body>\n');
x.document.close();
}
)()