Javascript- 283327个字符
编辑:
实施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)删除Variable:s并使用文字:“ \ n” [-4] [323]
2)删除“ var o =“”,i,r,n,l,“ [-17] [306]
3)删除变量:t并使用文字:“ 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中。输出放置在新“窗口”的“ TEXTAREA”中,而不是“ alert()”中:
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();
}
)()