자바 스크립트-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) 제거 변수 : 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 자
개선의 여지가 있다고 확신합니다 ... Code-golfing에는 경험이 거의 없습니다.
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 */
다음은 "최소화되지 않은"변수 / 함수 이름이있는 형식화 된 "비 골프"버전입니다.
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();
}
)()