Article View: pl.comp.lang.javascript
Article #10230Re: szkolka
From: Bogdan Błaszczak
Date: Sun, 19 Jan 2003 15:28
Date: Sun, 19 Jan 2003 15:28
73 lines
3131 bytes
3131 bytes
Użytkownik "Vax" <vax@ircx.pl> napisał w wiadomości
news:b0c04c$bfo$1@news.tpi.pl...
[...]
> b) samo N bezwarunkowo "uparzystowujemy" przez uciecie najmlodszego bitu
rzeklbym "wyzerowanie" ;)
"uciecie" w pierwszym momencie falszywie mi sie skojarzylo z przesunieciem
bitowym w prawo.
W tym miejscu, bardziej "pogladawe" (nie mylic z "lepsze";) wydaje mi sie
AND-owanie z bitowa negacja jedynki. Przy okazji kumulujac dwie instrukcje
np
zamiast
N&=-2,o=1
moznaby
N&=~(o=1)
ale to juz kwestia indywidualnego poczucia estetyki... bajtow tyle samo;)))
[...]
> Tak, teraz tylko odwracanie stringa. Jednak dlugie...
> Mozna by z niego zrezygnowac na rzecz zastapienia
> wszytskich "s+=cokolwiek" sekwencja "s=cokolwiek+s"
racja... po co odwracac cos co mozna od razu ustawic w odpowiedniej
kolejnosci :)
[...]
> function rome(N,s,R,b,a,o){
> R='IVXLCDM'.split(s='');b=0;a=2
> while(N){
> o=N%(a=7-a);N=N/a^0
> if(o>3)s=R[b+N%2+1]+s,N&=-2,o=1
> while(o--)s=R[b]+s;b++
> }
> return s
> }
>
> z komentarzem:
[...]
> 5. reakcja na wypisanie wiecej niz 3 jednakowych cyferek
> nalezy wypisac odpowiednio wyzsza cyfre, by pozniej poprzedzic
> ja _jedna_ aktualnie przetwarzana. N musi stac sie przy tym parzyste.
> Nie pytajcie dlaczego, zastanowcie sie przez chwile sami ;p
> (a dokladnie, w pewnych okolicznosciach pomniejszone o 1,
> co na jedno w sumie wychodzi, wiec dlaczego z tego nie skorzystac?)
Pozostale punkty to betka, ale w punkcie piatym to mi szczeka dosc nisko
opadla. Masz Ty bracie kaaaaawal wyobrazni!!!
No i coz ja teraz mam zrobic, zeby wydac jeszcze jakis dzwiek w tym
duecie??!!
Chodza sluchy, ze wielka sztuka jest wyrwac Vaxowi kilka bajtow z kodu (i
bynajmiej nie mam na mysli wciec czy nl-ow:). Tak wiec podwijam rekawy,
likwiduje if-a i wyrywam 9 bajtow ;p
jazz must go on...
function rome(N,s,R,b,a,o){
R='IVXLCDM'.split(s='');b=0;a=2
while(N){
o=N%(a=7-a);N=N/a^0
while(o)s=R[o-->3?b+N%2+(N&=~1,o=1):b]+s;b++
}
return s
}
pozdrawiam
BlaTek
Technical Details
Message-ID:
<b0eg1c$ih5$1@news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!news.internetia.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mailReferences:
<b06bao$cp7$1@news.tpi.pl> <b07bqt$2d3$1@news.tpi.pl> <b08r07$62k$1@news.tpi.pl> <b09j6g$od1$1@news.tpi.pl> <b0b9tq$bhe$1@news.tpi.pl> <b0c04c$bfo$1@news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!news.internetia.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail From: Bogdan Błaszczak <blatek@twentyfive[toDigits].pl> Newsgroups: pl.comp.lang.javascript Subject: Re: szkolka Date: Sun, 19 Jan 2003 16:28:15 +0100 Organization: tp.internet - http://www.tpi.pl/ Lines: 75 Message-ID: <b0eg1c$ih5$1@news.tpi.pl> References: <b06bao$cp7$1@news.tpi.pl> <b07bqt$2d3$1@news.tpi.pl> <b08r07$62k$1@news.tpi.pl> <b09j6g$od1$1@news.tpi.pl> <b0b9tq$bhe$1@news.tpi.pl> <b0c04c$bfo$1@news.tpi.pl> NNTP-Posting-Host: pa8.walbrzych.cvx.ppp.tpnet.pl X-Trace: news.tpi.pl 1042989932 18981 213.76.86.8 (19 Jan 2003 15:25:32 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Sun, 19 Jan 2003 15:25:32 +0000 (UTC) X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MSMail-Priority: Normal X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit