ci sono un po' di modi diversi per fare la stessa cosa... questo si sapeve, ma guardate in quanti modi si può scambiare il valore di una variabile fra 1 e 2 (non è farina del mio sacco... fonte ultrashock.com)

(k==1)?2:1;
if(!(k--)) k=2;
k = (k%=2)+1;
k = k%2+1;
k = !(k-1) + 1;
k = 1 + sin(asin(k-1) + PI/2);
k = pow(2,2-k);
(k-1)? (k >>= 1) : (k <<= 1);
k = (Math.log(k)) ? --k : ++k;
k = (((k&1)<<2)|k)>>1;
k = (Math.sqrt(--k)) + 2*(!k);
k = 1-(k--*--k);
k = 1+!(--k/k);
k = !(++k%--k)+1;
k = (k>>1|k<<1)&3;
k = 2/k; //geniale!
k = Math.abs(k*3-5);
k = Math.ceil(Math.cos(k))+1;
k = Math.round(2.4-k/2);
k = 2-Math.floor(Math.tan(--k));
k = Math.abs((k^2)-1);

eheheh fatevi una cultura