JavaScript (tüm test durumlarıyla çalışmak üzere güncellendi)
Az bilinen gerçek şu ki, aslında dört 6saniye var, ancak diğerlerine ihanet eden ve sayıların dünyadaki rakamlarından kurtulmak için kod biçiminde polimorlanan bir kişi . İşte o hain altı altı:
x=prompt(''+
'Enter number');
alert( ( (~x[
'ind'+
'exOf']('666')))?(x
.replace(/666(.*)$/,
function (mat,g){
return '667'+g
['re'+ 'place'
](/./g,0)})):((+x+
1+'').replace(
666,667)));
İşte bir açıklama. İlk olarak, kodu güzelleştirmek ve benzeri yararsız şeyler kaldırmak ''+'string've ((code)):
x = prompt('Enter number');
alert(
~x['indexOf']('666')
?
x.replace(/666(.*)$/, function(mat,g) {
return '667' + g['replace'](/./g,0)
})
:
(+x+1+'').replace(666, 667)
);
Garip notasyonları (gibi ~indexOfve ['replace']) daha yaygın olanlara dönüştürün:
x = prompt('Enter number');
alert(
x.indexOf('666') > -1
?
x.replace(/666(.*)$/, function(mat, g) {
return '667' + g.replace(/./g, 0)
})
:
((parseInt(x) + 1) + '').replace(666, 667)
);
Ve şimdi basitçe algoritmanın böyle gittiğini anlayın:
Eski sürüm (için çalışmıyor 666666666) :
s='Enter number';x
=prompt( ''+
s);x=+x+
(-~![]);
x=(''+x).replace('666',
666+([][ +[]]+[])
[+[]]['l ength'[
'repla'+ 'ce'](
/ /g,'')]);alert(x)
Bunu anlamak için önce onu güzelleştirelim:
s = 'Enter number';
x = prompt('' + s);
x = +x + (-~![]);
x = ('' + x).replace('666',666+([][+[]]+[])[+[]]['l ength'['repla'+'ce'](/ /g,'')]);
alert(x);
Şimdi gibi faydasız şeyleri kaldırmak izin '' + stringve 'str' + 'ing'gereksiz kaldırmak sdeğişken ve benzeri garabeti değiştirmek -~![]içine 1:
x = prompt('Enter number');
x = +x + 1;
x = ('' + x).replace('666', 666+"undefined"[0]['l ength'['replace'](/ /g,'')]);
alert(x);
'l ength'['replace'](/ /g,'')basitçe "length":
x = prompt('Enter number');
x = +x + 1;
x = ('' + x).replace('666', 666+"undefined"[0].length);
alert(x);
Ve "undefined"[0]olduğu "u"ve "u".lengtholduğu 1:
x = prompt('Enter number');
x = +x + 1;
x = ('' + x).replace('666', 666 + 1);
alert(x);
Şimdi bitti! Şimdi anlamak oldukça kolay olmalı.