Na mikroblogu pojawił się taki wpis: Pamiętacie, że kiedyś mieliś...
Pamiętacie, że kiedyś mieliśmy tutaj konkurs który polegał na napisaniu najkrótszego programu (w sensie znaków kodu) wyświetlający choinkę? Skojarzyło mi się z zadaniem napisania programu który wyświetla numery od 1 do 100 bez użycia pętli oraz liczb.
Czyli żadne for/next, while, goto itp. Nie można też deklarować cyferek otwartym tekstem jako 123 ani "123".
Wydziergałam pod tym wpisem takie coś:
o=-[]+'';function f(x){console.log(++x);(x<+!!o+o+o)?f(x):o;}f(o);
A później stwierdziłam, że w sumie można krócej:
f=(x)=>{console.log(++x);if(x<'d'.charCodeAt())f(x)};f('')
A później stwierdziłam, że w sumie to można jeszcze krócej:
f=x=>{console.log(++x);if(x<-~o+o+o)f(x)};f(o=~~f+'')
A później podrapałam się po głowie.
I tu pojawia się właściwa treść ogłoszenia:
Jeśli ktoś chce zarobić 100 zł za napisanie jednej linijki w JavaScript, to chętnie zapłacę :) Warunki:
- skrypt wyświetla liczby od 1 do 100,
- bez pętli,
- bez liczb wewnątrz kodu,
- i oczywiście bez używania zewnętrznych bibliotek,
- liczba znaków kodu przynajmniej o jeden mniejsza niż w powyższym rozwiązaniu (czyli 52 znaki lub mniej).
Temat jest trochę rozrywkowy, ale ogłoszenie jak najbardziej serio, a stawka wynosi prawie ~2 zł za znak.
Ponieważ zlecenie ma charakter ludyczny, sugeruję, żeby ew. rozwiązania umieszczać po prostu na forum :D
const
czylet
. :) Także – nieźle to zrobiłaś!