🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
69 messages
69 total messages Page 1 of 2 Started by "Vax" Thu, 16 Jan 2003 14:17
Page 1 of 2 • 69 total messages
szkolka
#8690
Author: "Vax"
Date: Thu, 16 Jan 2003 14:17
19 lines
534 bytes
kolejne zadanko (na algorytmizacje tym razem) ;))

wywolanie funkcji roma(N) gdzie N jest naturalne
ma zwrocic stringa z zapisem liczby w cyfrach rzymskich ;)

na "deser" wlasnie wymyslona ciekawostka:
<script>
document.write('<ol type=I start='+prompt('?',1)+'><li></li></ol>')
</script>
moze pomoc w weryfikacji wynikow wlasnej funkcji ;)

v.
PS. liczy sie elegancja, a nie zestaw if'ow ;))
PS2. jak ktos chce, moze tez zrobic w druga strone - z rzymskich na arabskie
:)
PS3. jak komus _bardzo_ to pomoze, moze przyjac N<4000 ;)



Re: szkolka
#8693
Author: "Coder"
Date: Thu, 16 Jan 2003 15:01
15 lines
303 bytes
> PS2. jak ktos chce, moze tez zrobic w druga strone - z rzymskich na
arabskie
> :)

A mozna zrobic 'w dwie strony' ? :P

> PS3. jak komus _bardzo_ to pomoze, moze przyjac N<4000 ;)

Hmm.. jakies ograniczenie trzeba bedzie wprowdzic, w koncu trudno zapisac
1000000 w rzymskim systemie ;)

Pozdrawiam



Re: szkolka
#8696
Author: "Krzyszt_off"
Date: Thu, 16 Jan 2003 15:39
8 lines
125 bytes
> PS3. jak komus _bardzo_ to pomoze, moze przyjac N<4000 ;)

Znaczy sie - MMMCMXCIX. Mowze do nas po rzymsku ;)

Krzysiek



Re: szkolka
#8697
Author: "Coder"
Date: Thu, 16 Jan 2003 15:54
39 lines
976 bytes
Pierwsze podejscie (czyli jak zwykle w moim przypadku - niewypal ;)):

 function Roma(N){
   if(!N||N>@00)return false
   var R='',s=[
     ['I','II','III','IV','V','VI','VII','VIII','IX'],
     ['X','XX','XXX','XL','L','LX','LXX','LXXX','XC'],
     ['C','CC','CCC','CD','D','DC','DCC','DCCC','CM'],
     ['M','MM','MMM']]
   N=N.toString().split('').reverse()
   for(i=N.length-1;i>=0;i--)if(N[i])R+=s[i][N[i]-1]
   return R
 }

> PS. liczy sie elegancja, a nie zestaw if'ow ;))

Jak widac poszedlem na latwizne. Chociaz z drugiej strony - czy jest sens
wymyslac jakis skomplikowany algorytm dla tak prostego zadania ?

> PS2. jak ktos chce, moze tez zrobic w druga strone - z rzymskich na
arabskie
> :)

Hehe.. sprobuje.

> PS3. jak komus _bardzo_ to pomoze, moze przyjac N<4000 ;)

Z matematyki orlem nigdy nie bylem.. Czy da sie przedstawic w systemie
rzymskim liczbe wieksza lub rowna 4000 ? Oczywiscie nie chodzi mi o cos w
stylu:

MMMM[itd.]

Da sie ?

Pozdrawiam



Re: szkolka
#8698
Author: "Coder"
Date: Thu, 16 Jan 2003 16:01
22 lines
684 bytes
U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
news:b06bao$cp7$1@news.tpi.pl...
> kolejne zadanko (na algorytmizacje tym razem) ;))
>
> wywolanie funkcji roma(N) gdzie N jest naturalne
> ma zwrocic stringa z zapisem liczby w cyfrach rzymskich ;)
>
> na "deser" wlasnie wymyslona ciekawostka:
> <script>
> document.write('<ol type=I start='+prompt('?',1)+'><li></li></ol>')
> </script>
> moze pomoc w weryfikacji wynikow wlasnej funkcji ;)

Co ciekawe IE6 (nie wiem jak starsze wersje) przeznacza na liczbe porzadkowa
w <ol> tylko kilkadziesiat pikseli. W rezultacie dluzsze liczby sie nie
mieszcza i ich czesc jest ukrywana (po lewej stronie). Czyzby bug ?

Pozdrawiam



Re: szkolka
#8699
Author: "Vax"
Date: Thu, 16 Jan 2003 16:03
32 lines
842 bytes
U�ytkownik "Coder" <michael@w.pl> napisa� w wiadomo�ci
news:b06h34$gis$1@news.tpi.pl...
> Pierwsze podejscie (czyli jak zwykle w moim przypadku - niewypal ;)):
[...]

> Jak widac poszedlem na latwizne. Chociaz z drugiej strony - czy jest sens
> wymyslac jakis skomplikowany algorytm dla tak prostego zadania ?

sens jest, a i temat ciekawy, znasz system binarny, szesnatkowy,
dziesietny... a tu masz piatkowo-dwojkowy naprzemienny ;))
najciekawsze algorytmy bazuja na zauwazaniu prawidlosci,
nie na silowym rozwiazaniu ;)

[...]

> Z matematyki orlem nigdy nie bylem.. Czy da sie przedstawic w systemie
> rzymskim liczbe wieksza lub rowna 4000 ? Oczywiscie nie chodzi mi o cos w
> stylu:
>
> MMMM[itd.]
>
> Da sie ?

wlasnie MMMMMM.....
ale mozemy poteoretyzowac i dodac kolejne wagi
5000, 100000 itd. literek troche zostalo ;)

v.



Re: szkolka
#8700
Author: "Krzyszt_off"
Date: Thu, 16 Jan 2003 16:03
24 lines
483 bytes
> PS2. jak ktos chce, moze tez zrobic w druga strone - z rzymskich na
arabskie

function Arab(rome){
  function Digit(a){
    return
a=='I'?1:a=='V'?5:a=='X'?10:a=='L'?50:a=='C'?100:a=='D'?500:a=='M'?1000:0
  }
  var sum=0
  for(var i=0;i<rome.length;i++)

sum-=Digit(rome.charAt(i))*((Digit(rome.charAt(i))<Digit(rome.charAt(i+1)))*
2-1)
  return sum
}

Nie mam teraz czasu na pierwsza czesc ;-(

Krzysiek

P.S.: jak Ci sie podoba moj boolean * 2 - 1 ? - pozbylem sie if-else ;)



Re: szkolka
#8703
Author: "Vax"
Date: Thu, 16 Jan 2003 16:11
17 lines
441 bytes
U�ytkownik "Coder" <michael@w.pl> napisa� w wiadomo�ci
news:b06hgm$l3j$1@news.tpi.pl...

> Co ciekawe IE6 (nie wiem jak starsze wersje) przeznacza na liczbe
porzadkowa
> w <ol> tylko kilkadziesiat pikseli. W rezultacie dluzsze liczby sie nie
> mieszcza i ich czesc jest ukrywana (po lewej stronie). Czyzby bug ?

yhy - ale mozesz poprzedzic <center> a takze <small> - pomaga ;)

w innych przegladarkach tez bywa "smiesznie" :)

v.



Re: szkolka
#8712
Author: "Vax"
Date: Thu, 16 Jan 2003 20:07
32 lines
954 bytes
U�ytkownik "Krzyszt_off" <leszek.miller@grube.ryby.pl> napisa� w wiadomo�ci
news:b06hbj$jbk$1@news.tpi.pl...
[...]

skupmy sie narazie na tym kawaleczku:

>   function Digit(a){return
a=='I'?1:a=='V'?5:a=='X'?10:a=='L'?50:a=='C'?100:a=='D'?500:a=='M'?1000:0}

a ja sobie "z palucha" napisze pare innych "Digitow" :)

function
Digit(a,d,s){for(a='IVXLCDM'.indexOf(a),s=1,d=2;a--;s*=d=7-d);return s}
function Digit(a,s){for(a='IVXLCDM'.indexOf(a),s=1;a--;s*=a&1?2:5);return s}
function Digit(a){a='IVXLCDM'.indexOf(a);return
Math.pow(2,a>>1)*Math.pow(5,++a>>1)}
function Digit(a){a='IVXLCDM'.indexOf(a);return Math.pow(10,a>>1)*(a&1?5:1)}

wszystkie _algorytmiczne_, ktory Ci sie najbardziej podoba? ;)

w dodatku to nie wszystkie metody, ale ciekawe,
ze jest ich az tyle na tak pozornie blache zagadnenie :)

> P.S.: jak Ci sie podoba moj boolean * 2 - 1 ? - pozbylem sie if-else ;)

ten zakres materialu uwazaj za opanowany ;)

pozdrawiam - v.



Re: szkolka
#8720
Author: "Coder"
Date: Thu, 16 Jan 2003 21:33
19 lines
535 bytes
> a ja sobie "z palucha" napisze pare innych "Digitow" :)
>
> function
> Digit(a,d,s){for(a='IVXLCDM'.indexOf(a),s=1,d=2;a--;s*=d=7-d);return s}
> function Digit(a,s){for(a='IVXLCDM'.indexOf(a),s=1;a--;s*=a&1?2:5);return
s}
> function Digit(a){a='IVXLCDM'.indexOf(a);return
> Math.pow(2,a>>1)*Math.pow(5,++a>>1)}
> function Digit(a){a='IVXLCDM'.indexOf(a);return
Math.pow(10,a>>1)*(a&1?5:1)}
>
> wszystkie _algorytmiczne_, ktory Ci sie najbardziej podoba? ;)

:-O (szczeka mi opadla). Ja wysiadam, to nie moj poziom ;).

Pozdrawiam



Re: szkolka
#8724
Author: "Bogdan B�aszc
Date: Thu, 16 Jan 2003 23:33
35 lines
710 bytes
U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
news:b06bao$cp7$1@news.tpi.pl...
> kolejne zadanko (na algorytmizacje tym razem) ;))

<html><head>
<meta name="author" c>
<script>

function roma(N){
 var b,i,o,a,s='',
 R=['I','V','X','L','C','D','M']

 for(b=R.length-1;b>=0;b--){
  a=Math.pow(10,b>>1)*(b&1?5:1)
  o=Math.floor(N/a)
  if(o<4)for(i=0;i<o;i++)s+=R[b]
  else{i=s.slice(-1)==R[b+1]
   s=(i?s.slice(0,-1):s)+R[b]+R[b+(i?2:1)]}
  N-=o*a}
 return s
}

</script>
</head><body style="margin-left:200px">
<script>
xx=prompt('?',3999)
ss=!~~xx||xx>3999?'Spadaj':'<ol type=I start='+xx+
'><li>wynik funkcji: '+roma(xx)+'.</li></ol>'
document.write(ss)
</script>
</body></html>



Re: szkolka
#8726
Author: "Krzyszt_off"
Date: Fri, 17 Jan 2003 08:21
12 lines
383 bytes
> Co ciekawe IE6 (nie wiem jak starsze wersje) przeznacza na liczbe
porzadkowa
> w <ol> tylko kilkadziesiat pikseli. W rezultacie dluzsze liczby sie nie
> mieszcza i ich czesc jest ukrywana (po lewej stronie). Czyzby bug ?

W IE 5.0 nie mozna za to zaznaczyc tak wygenerowanego tekstu... - zaznacza
mi sie tylko spacja, ktora nie wiedziec czemu, siedzi w srodku liczby.

Krzysiek



Re: szkolka
#8727
Author: "Krzyszt_off"
Date: Fri, 17 Jan 2003 08:34
16 lines
418 bytes
> w dodatku to nie wszystkie metody, ale ciekawe,
> ze jest ich az tyle na tak pozornie blache zagadnenie :)

Ech, czlowiek slepy na starosc ;-)

Na swoje wytlumaczenie mam tylko to, ze spieszylem sie maksymalnie,
zeby siasc do tego jeszcze wczoraj, a ze czasu nie mialem
za bardzo na myslenie, to zrobilem raz-ciach i puscilem posta...

Faktycznie, nietrudno zauwazyc, ze 1,5 10,50 100,500 :>
Mea culpa.

Krzysiek



Re: szkolka
#8741
Author: "Vax"
Date: Fri, 17 Jan 2003 12:36
63 lines
2140 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@board.pl> napisa� w wiadomo�ci
news:b07bqt$2d3$1@news.tpi.pl...
[...]

no tak, Blatek to Blatek :)))

generalnie algorytmy mozna podzielic na dwa rodzaje:
1. od najwyzszych "wag"
sprawdzamy, ile razy miesci sie 1000, 500, 100 itd.
tworzac ciag przez dodawanie kolejnych, coraz mniej znaczacych
czesci liczby
2. "od tylka strony" - bazujac na badaniu reszty z dzielenia
z podstawy systemu liczbowego - w tym wypadku zachodzi
drobna komplikacja, gdyz system rzymski jest specyficznym
przypadkiem systemu przemiennie-dwojkowo-piatkowego :)))
tu mala <dygresja>, "przelacznik" pomiedzy A i B
realizuje sie np. za pomoca: przelacznik=(A+B)-przelacznik
(zamiast np. przelacznik=(przelacznik==A)?B:A czy innych "ifow" ;)))
w naszym przypadku np. przelacznik=7-przelacznik
</dygresja>

Blatek poszedl droga pierwsza. Mnie osobiscie
ta druga (mniej oczywista) wydaje sie bardziej "wyrafinowana",
ale to juz dywagacje typu "rock czy jazz", nie wdajac sie w dyskusje
co lepsze, mozna tylko stwierdzic, ze jazz "rozumie" mniej osob,
a dobra muzka i tak jest dobra, bez wzgledu na gatunek :)))

skrypt Blatka nie wymaga chyba wiekszych komentarzy?
dorzuce tylko kilka "dingsow", ale to juz "poza konkurencja",
wszak nacisk kladlismy na _algorytm_ :))

>  R=['I','V','X','L','C','D','M']
mozna by np.: R='I V X L C D M'.split(' ') ;)))
wiem, wiem... "zboczenie" ;))

[...]

> R[b+(i?2:1)]
a moze wystarczy R[1+b+i] ?
(wymuszona konwersja bool->int)

coz jeszcze... mozna inaczej rozwiazywac
wyjatki "czworek-dziewiatek" unikajac ciecia
juz wypisanego ciagu...

W kazdym razie Blatek pokazal klase, kto jeszcze
sie pokusi na eleganckie _algorytmiczne_ rozwiazanie
problemu? (moze ta druga metoda? :))))

pozdrawiam - v.
PS. to wlasnie jest piekne w informatyce, ze dobry programista
wychwytuje prawidlowosci i wykorzystuje je, szuka reguly
i uniwersalizuje :))
Sa wprawdzie tacy, ktorzy uwazaja, ze nie forma wazna, wystarczy,
by dzialalo, ale ja jestem zwolennikiem np. _ladnych_ aut,
_ladnych_ mebli, czy _ladnych_ kobiet. Te brzydkie tez "dzialaja",
ale na piekno jest jakby wiekszy popyt.... :)))

v.



Re: szkolka
#8742
Author: "Krzyszt_off"
Date: Fri, 17 Jan 2003 13:17
9 lines
150 bytes
> >  R=['I','V','X','L','C','D','M']
> mozna by np.: R='I V X L C D M'.split(' ') ;)))

albo 'IVXLCDM'.split('') - 7 znakow krotsze :>>>

Krzysiek



Re: szkolka
#8743
Author: "Krzyszt_off"
Date: Fri, 17 Jan 2003 13:32
12 lines
293 bytes
> >   function Digit(a){return
> a=='I'?1:a=='V'?5:a=='X'?10:a=='L'?50:a=='C'?100:a=='D'?500:a=='M'?1000:0}

function Digit(a){return[1,5,10,50,100,500,1000]['IVXLCDM'.indexOf(a)]}

Wprawdzie nie algorytmicznie (no bo nie bede kopiowal Twojego kodu),
ale troche sie poprawilem :)

Krzysiek



Re: szkolka
#8745
Author: "Vax"
Date: Fri, 17 Jan 2003 13:37
15 lines
352 bytes
U�ytkownik "Krzyszt_off" <leszek.miller@grube.ryby.pl> napisa� w wiadomo�ci
news:b08rv7$fg1$1@news.tpi.pl...
> > >  R=['I','V','X','L','C','D','M']
> > mozna by np.: R='I V X L C D M'.split(' ') ;)))
>
> albo 'IVXLCDM'.split('') - 7 znakow krotsze :>>>

owszem, ale mialem z tym na ktoryms browserze klopot :)
ale fakt faktem, krotsze :)

v.



Re: szkolka
#8754
Author: "Bogdan B�aszc
Date: Fri, 17 Jan 2003 15:25
18 lines
301 bytes
U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
news:b08r07$62k$1@news.tpi.pl...

> no tak, Blatek to Blatek :)))
bla,bla,bla[...]

> >  R=['I','V','X','L','C','D','M']
> mozna by np.: R='I V X L C D M'.split(' ') ;)))
> wiem, wiem... "zboczenie" ;))

R='IVXLCDM'.match(/./g)
;))

Blatq



Re: szkolka
#8760
Author: "Bogdan B�aszc
Date: Fri, 17 Jan 2003 19:51
26 lines
733 bytes
U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
news:b08r07$62k$1@news.tpi.pl...

<composed>
> 1. od najwyzszych "wag"
> 2. "od tylka strony" - bazujac na badaniu reszty z dzielenia
> ta druga (mniej oczywista) wydaje sie bardziej "wyrafinowana",
> wiem, wiem... "zboczenie" ;))
</composed>

:]]]]]]]]
a tak powaznie to

> Blatek poszedl droga pierwsza. Mnie osobiscie
> ta druga (mniej oczywista) wydaje sie bardziej "wyrafinowana",
> ale to juz dywagacje typu "rock czy jazz", nie wdajac sie w dyskusje
> co lepsze, mozna tylko stwierdzic, ze jazz "rozumie" mniej osob,
> a dobra muzka i tak jest dobra, bez wzgledu na gatunek :)))

dam jeszcze pare(nascie?) godzin szansy innym, a potem tez se pojazzuje :))

BlaTek



Re: szkolka
#8774
Author: "Vax"
Date: Sat, 18 Jan 2003 11:13
19 lines
490 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@board.pl> napisa� w wiadomo�ci
news:b093jq$4rl$1@news.tpi.pl...
[...]
> R='IVXLCDM'.match(/./g)
> ;))

no to "przy okazji" zostaly przerobione "krokie deklaracje tablic"
zarowno literowych, jak i np. nazw miesiecy czy dni tygodnia ;)
fajnie, nie? ;)

v.
jest jeszcze potencjal do wykorzystania tkwiacy w exec,
np. zrobienie ze stringa stream'a, z ktorego mozna
sekwencyjnie czytac znaki, slowa, liczby, itp.,
ale to juz moze innym razem ;)



Re: szkolka
#8775
Author: "Vax"
Date: Sat, 18 Jan 2003 11:21
17 lines
502 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@twentyfive[toDigits].pl> napisa� w
wiadomo�ci news:b09j6g$od1$1@news.tpi.pl...
[...]
> dam jeszcze pare(nascie?) godzin szansy innym, a potem tez se pojazzuje
:))

daj im wiecej, powiedzmy do poniedzialkowego wieczoru :)))
ja prawde mowiac zrobilem wersje rock i jazz rownolegle :)

a skad to "zadanko" - wlasnie szkolka, taki niby banal,
programistyczna wprawka, ale z "hakiem" (IV, IX etc.)
i wieloma mozliwosciami rozwiazan - mozna "poszalec" :)

v.



Re: szkolka
#8776
Author: "Bogdan B�aszc
Date: Sat, 18 Jan 2003 11:25
24 lines
479 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@twentyfive[toDigits].pl> napisa� w
wiadomo�ci news:b09j6g$od1$1@news.tpi.pl...

[...]
> dam jeszcze pare(nascie?) godzin szansy innym, a potem tez se pojazzuje
:))

ok, let's jazz

function roma(N){
 var b,i,o,a=2,s='',R='I,V,X,L,C,D,M'.split(',')
 for(b in R){
  a=7-a;o=N%a;N=(N-o)/a
  if(o==4){s+=R[1*b+(N&1)+1]+R[b];i=o*(N&1)}
  else{if(i!=4)for(i=0;i<o;i++)s+=R[b];i=0}
 }
 return s.match(/./g).reverse().join('')
}

BlaTek



Re: szkolka
#8777
Author: "Bogdan B�aszc
Date: Sat, 18 Jan 2003 11:28
14 lines
207 bytes
U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
news:b0b9p2$a69$1@news.tpi.pl...

[...]
> daj im wiecej, powiedzmy do poniedzialkowego wieczoru :)))

eech puscilismy jednoczesnie
sorry

BlaTek



Re: szkolka
#8779
Author: "Bogdan B�aszc
Date: Sat, 18 Jan 2003 11:38
22 lines
528 bytes
U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
news:b0b9db$6q9$1@news.tpi.pl...
>
> U�ytkownik "Bogdan B�aszczak" <blatek@board.pl> napisa� w wiadomo�ci
> news:b093jq$4rl$1@news.tpi.pl...
> [...]
> > R='IVXLCDM'.match(/./g)
> > ;))
>
> no to "przy okazji" zostaly przerobione "krokie deklaracje tablic"
> zarowno literowych, jak i np. nazw miesiecy czy dni tygodnia ;)
> fajnie, nie? ;)

uwaga, w NS/Moz to bedzie calkiem normalna tablica
w IE nia tak calkiem
mozna sie nadziac przy petli for..in

BlaTek



Re: szkolka
#8780
Author: "Bogdan B�aszc
Date: Sat, 18 Jan 2003 13:09
17 lines
364 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@twentyfive[toDigits].pl> napisa� w
wiadomo�ci news:b0balh$htp$1@news.tpi.pl...

[...]
> uwaga, w NS/Moz to bedzie calkiem normalna tablica
> w IE nia tak calkiem

no wiesz, cos z gatunku Nie DoViary ;)))

function isIE(){return!!'kurwa'.match(/./g).input}

BlaTek
ps. sorry ze klne, ale nie moglem sie powstrzymac



Re: szkolka
#8784
Author: "Vax"
Date: Sat, 18 Jan 2003 16:03
15 lines
308 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@twentyfive[toDigits].pl> napisa� w
wiadomo�ci news:b0balh$htp$1@news.tpi.pl...
[...]
> uwaga, w NS/Moz to bedzie calkiem normalna tablica
> w IE nia tak calkiem
> mozna sie nadziac przy petli for..in

czytajac dokumentacje da sie wychwycic ow niuans ;)

v.




Re: szkolka
#8790
Author: "Vax"
Date: Sat, 18 Jan 2003 17:41
98 lines
2928 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@twentyfive[toDigits].pl> napisa� w
wiadomo�ci news:b0b9tq$bhe$1@news.tpi.pl...
>
> U�ytkownik "Bogdan B�aszczak" <blatek@twentyfive[toDigits].pl> napisa� w
> wiadomo�ci news:b09j6g$od1$1@news.tpi.pl...
>
> [...]
> > dam jeszcze pare(nascie?) godzin szansy innym, a potem tez se pojazzuje
> :))
>
> ok, let's jazz

motyw zagrany bardzo ladnie, ze az chce sie wspolnie poimprowizowac ;)))
moge wiec wtracic swoich kilka dzwiekow? :)

> function roma(N){
>  var b,i,o,a=2,s='',R='I,V,X,L,C,D,M'.split(',')
>  for(b in R){
>   a=7-a;o=N%a;N=(N-o)/a
>   if(o==4){s+=R[1*b+(N&1)+1]+R[b];i=o*(N&1)}
>   else{if(i!=4)for(i=0;i<o;i++)s+=R[b];i=0}
>  }
>  return s.match(/./g).reverse().join('')
> }

gdyby tak, zamiast for-in tablicy wag
zastosowac:

b=0;while(N)

W sumie bardziej naturalne wydaje sie iterowanie
dopoki liczba istnieje, niz poki starczy cyfr na reprezentacje ;)

teraz ow if... to, ze mozna (o>3) zamiast (o==4) to drobiazg ;)
bardziej chodzi o to else... mozna by np.:

if(o>3)s+=R[b+N%2+1],N&=-2,o=1

zalatwiamy po kolei:
a) dokladamy do stringa odpowiednio wyzsza literke
rzymska w zaleznosci od parzysosci N
b) samo N bezwarunkowo "uparzystowujemy" przez uciecie najmlodszego bitu
c) reszte z dzielenia ustawiamy na 1

...po czym nastapilo by juz naturalne i bezwarunkowe:

while(o--)s+=R[i];b++

i zamkniecie zewnetrznego while...
Tak, teraz tylko odwracanie stringa. Jednak dlugie...
Mozna by z niego zrezygnowac na rzecz zastapienia
wszytskich "s+=cokolwiek" sekwencja "s=cokolwiek+s"
nieznacznie tylko dluzsza ;)

moze wiec jakos tak (wersja robocza):

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:
1. ucieczka przed lokalizacja za pomoca var ;)
2. inicjacja zmiennych, gdzie Blatek zazyczyl sobie aby:
N - liczba przetwarzana
s - string wynikowy
R - tablica cyfr rzymskich
b - wskaznik na aktualnie "przetwarzana" cyfre rzymska
a - przelacznik 2|5
o - reszta z dzielenia
(uzylem jednak split('') nie mogac sie oprzec pokusie rownoczesnej
deklaracji s='' ;))))
3. glowna petla, realizowana dopoty jest co liczyc
4. alternatywny sposob na wyciagniecie czesci calkowitej i reszty z
dzielenia :)
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?)
6. normalne juz wypisywanie cyfr, tak, jakby tego calego cyrku
z reszta=4 nie bylo, stad brak else
7. no to lecimy od poczatku (do pierwszego while)

tez "jazz" - choc juz nieco inny (co nie znaczy, ze lepszy, po prostu inny
;))

pozdrawiam - v.



Re: szkolka
#8793
Author: "VooDoo"
Date: Sat, 18 Jan 2003 19:37
20 lines
623 bytes
> tez "jazz" - choc juz nieco inny (co nie znaczy, ze lepszy, po prostu inny

Po wyczynach BLATKA i VAXA na usta cisna mi sie tylko gratulacje. Panowie
gratuluje wiedzy. Chcialbym umiec choc czesc tego czego Wy jestescie w
stanie uzywac bez najmniejszej pomocy jakis zrodel. GRATULUJE !!!!

P.S.
Jak sie uczyc JS ? Dodam ze jestem w trakcie czytania kursu BLATKA (bardzo
dobry).
I moze ktos moglby mi jeszcze jakos wyjasnic petle w jakis przyjazny sposob
tak zebym wiedzial kiedy i gdzie je stosowac

Jeszcze raz Wasz wiedza to mistrzostwo ja nie moge wyjsc z podziwu i nie
myslcie ze to wazelina :-)

pozdrawiam
Voodoo



Re: szkolka
#8804
Author: "Bogdan B�aszc
Date: Sun, 19 Jan 2003 16:28
76 lines
2001 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



Re: szkolka
#8805
Author: "Bogdan B�aszc
Date: Sun, 19 Jan 2003 16:28
38 lines
1074 bytes
U�ytkownik "VooDoo" <pk@exodusnet.org> napisa� w wiadomo�ci
news:b0c75e$jtl$1@news.tpi.pl...
> > tez "jazz" - choc juz nieco inny (co nie znaczy, ze lepszy, po prostu
inny

[...]
> Jak sie uczyc JS ? Dodam ze jestem w trakcie czytania kursu BLATKA (bardzo
> dobry).

Ksiazki i kursy moga (choc nie musza) byc dobre tylko w bardzo poczatkowym
okresie. Na pewnym etapie pozostaje juz tylko dokumentacja i... wyobraznia!
Wyobraznia, ktorej nie kazdemu moze nastarczyc...
Choc zdarzaja sie miejsca, w ktorych calkiem niezle mozna wyobraznie
pobudzic. Np. na tej grupie :)))

> I moze ktos moglby mi jeszcze jakos wyjasnic petle w jakis przyjazny
sposob
> tak zebym wiedzial kiedy i gdzie je stosowac

Trudno powiedziec co to jest przyjazny sposob. To co dla jednego jest super
przyjazne, dla innego moze byc nie do przelkniecia. Dlatego trzeba probowac
czerpac z roznych zrodel.

var tablica=[]
tablica[0]='pierwszy obieg petli'
tablica[1]='drugi obieg petli'
tablica[2]='trzeci obieg petli'

for(var i=0;i<tablica.length;i++){
 alert(tablica[i])
}

pozdrawiam
BlaTek



Re: szkolka
#8811
Author: "Vax"
Date: Sun, 19 Jan 2003 21:55
54 lines
1331 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@twentyfive[toDigits].pl> napisa� w
wiadomo�ci news:b0eg1c$ih5$1@news.tpi.pl...
[...]
> rzeklbym "wyzerowanie" ;)

no coz, w jezykach programowania wyrazam
sie jednka scisliej niz np. w polskim ;))

[...]
> moznaby
> N&=~(o=1)
>
> ale to juz kwestia indywidualnego poczucia estetyki... bajtow tyle
samo;)))

nie widze przeciwskazan :)

[...]
> 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
> }

wydajnosc nieznacznie spadla  np. dla: MMMCCCXXXIII (3333)
warunek trzepie sie 12 razy zamiast 4, ale to juz urok tej konkretnej
"soloweczki" ;)

urwales 9... to ja z tego urwe jeszcze wiecej ;)

function rome(N,s,R,b,a,o){
 for(R='IVXLCDM'.split(s=''),b=0,a=2;N;b++)
  for(o=N%(a=7-a),N=N/a^0;o;)s=R[o-->3?b+N%2+(N&=~1,o=1):b]+s
 return s
}

...i mniemam, ze to jeszcze nie wszystko, co mozna urwac :)))
to skrocilem "na szybciora" zmieniajac jedynie while na for'y,
bez zaglebiania sie w reszte ;) - eh, jak latwo mnie czasem podpuscic... ;)

v. :)))



Re: szkolka
#8812
Author: "VooDoo"
Date: Sun, 19 Jan 2003 23:31
4 lines
7 bytes
WOW



Re: szkolka
#8816
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 09:19
25 lines
768 bytes
> ...i mniemam, ze to jeszcze nie wszystko, co mozna urwac :)))
> to skrocilem "na szybciora" zmieniajac jedynie while na for'y,
> bez zaglebiania sie w reszte ;) - eh, jak latwo mnie czasem podpuscic...
;)

Widze, ze sie niezle jazzy odchodzily w weekend...
Niezle mnie zaskoczyliscie z BlaTkiem, jak zwykle :>
Ja ze swojej strony chcialem tylko "wyrwac" Ci ze 3 znaki - poprzez pozbycie
sie R - ktore jest chyba srednio potrzebne - wpadles w pulapke
optymalizacji,
bo chciales miec jednoczesnie zadeklarowany s, tymczasem "normalnie" jest
krocej, co prawda split wykonuje sie za kazdym razem, ale co tam ;)

function rome(N,s,b,a,o){
  for(s='',b=0,a=2;N;b++)

for(o=N%(a=7-a),N=N/a^0;o;)s='IVXLCDM'.split('')[o-->3?b+N%2+(N&=~1,o=1):b]+
s
  return s
}

Krzysiek



Re: szkolka
#8819
Author: "Vax"
Date: Mon, 20 Jan 2003 09:43
44 lines
1354 bytes
U�ytkownik "Krzyszt_off" <leszek.miller@grube.ryby.pl> napisa� w wiadomo�ci
news:b0gb50$asn$1@news.tpi.pl...
[...]
> wpadles w pulapke
> optymalizacji,

to nie pulapka, to nawyk ;))

> bo chciales miec jednoczesnie zadeklarowany s, tymczasem "normalnie" jest
> krocej, co prawda split wykonuje sie za kazdym razem, ale co tam ;)

no wlasnie...

najwazniejszymi przeslankami sa takie sprawy,
jak deklaracja stalych wyrazen jako zmienne,
wyciaganie co sie da poza petle, by nie krecic
jalowo zbytecznych w kazdym kroku instrukcji,
etc. etc.
powstaje (w zalozeniu) ladny algorytm,
teraz pora to zakodowac, najlepiej oszczednie w znakach...

osobna dziedzina sztuki jest kompresja objetosci kodu
kosztem jego wydajnosci - to juz raczej ciekawostka :)
(osobna dziedzina sztuki)
W zamierzchlych czasach ZX Spectrum i stacji dyskow
do tegoz z rozmiarem sektora 512 byte'ow uprawialo
sie taka sztuke dla np. BASIC'a.
Zamiast i=0 pisalo sie i=NOT PI - 0 to bylo:
'0'+#14+XXXXX gdzie 5 ostatnich byte'ow bylo reprezantacja
liczby na potrzeby spectrumowskiego arytmometru,
zas NOT PI to byly tylko dwa tokeny (po bajcie na kazdy).
analogicznie. Podobne patenty istnialy na inne liczby,
a wszytsko to po to, by np. 600 byte'ow (dwa sektory-1024)
upchnac w 512 ;)))

...no koniec archeologii

pozdrawiam - v.

PS. a to, co napisales _tez_ da sie skrocic ;)



Re: szkolka
#8823
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 09:59
12 lines
230 bytes
> PS. a to, co napisales _tez_ da sie skrocic ;)

No to ostatecznie pozbywam sie tablicy - kolejne 3 znaki :>

for(s='',b=0,a=2;N;b++)
  for(o=N%(a=7-a),N=N/a^0;o;)
    s='IVXLCDM'.charAt(o-->3?b+N%2+(N&=~1,o=1):b)+s

Krzysiek



Re: szkolka
#8826
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 10:46
32 lines
743 bytes
> > PS. a to, co napisales _tez_ da sie skrocic ;)
>
> No to ostatecznie pozbywam sie tablicy - kolejne 3 znaki :>
>
> for(s='',b=0,a=2;N;b++)
>   for(o=N%(a=7-a),N=N/a^0;o;)
>     s='IVXLCDM'.charAt(o-->3?b+N%2+(N&=~1,o=1):b)+s

Zarywam kolejne 2 znaki - razem udalo mi sie "wydrzec" 8 :)

for(s=b='',a=5;N;b++,a=7-a)
  for(o=N%a,N=N/a^0;o;)
    s='IVXLCDM'.charAt(o-->3?b+N%2+(N&=~1,o=1):b)+s

Troche poprzestawialem kod, ale to akurat nie jest istotne,
natomiast zwroc uwage na s=b=''

Za jednym zamachem deklaruje pustego stringa, oraz inicjuje b jako 0
- co prawda to, ze b jest zerem, wychodzi dopiero przy inkrementacji:

var b
alert(b++) // kicha

b=''
alert(b++) // 1 - i o to chodzi

Vax, say You are proud of me... ;-)

Krzysiek



Re: szkolka
#8831
Author: "Vax"
Date: Mon, 20 Jan 2003 11:56
19 lines
316 bytes
U�ytkownik "Krzyszt_off" <leszek.miller@grube.ryby.pl> napisa� w wiadomo�ci
news:b0gb50$asn$1@news.tpi.pl...

[...]
skoro juz:
s='IVXLCDM'.split('')[o-->3?b+N%2+(N&=~1,o=1):b]+s

to czemu nie:

s='IVXLCDM'.charAt(o-->3?b+N%2+(N&=~1,o=1):b)+s

? ;)))

v.
PS. "cos tak czuje", ze to jeszcze nie koniec... ;)



Re: szkolka
#8834
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 12:04
8 lines
89 bytes
> Vax, say You are proud of me... ;-)

Ech, lepiej nie mow (na razie) ;-(((

Krzysiek



Re: szkolka
#8835
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 12:16
22 lines
556 bytes
> Zarywam kolejne 2 znaki - razem udalo mi sie "wydrzec" 8 :)

> for(s=b='',a=5;N;b++,a=7-a)
>  for(o=N%a,N=N/a^0;o;)
>    s='IVXLCDM'.charAt(o-->3?b+N%2+(N&=~1,o=1):b)+s

No coz, poprawiam ten kod (przy niektorych liczbach dzialal
nieprawidlowo) - dodaje jeden znak + ("nie tylko dla orlow
- toFloat") - ale i tak jest to o 1 znak mniej :)

for(s=b='',a=5;N;b++,a=7-a)
  for(o=N%a,N=N/a^0;o;)
    s='IVXLCDM'.charAt(o-->3?+b+N%2+(N&=~1,o=1):b)+s

> > Vax, say You are proud of me... ;-)
> Ech, lepiej nie mow (na razie) ;-(((
Teraz mozesz :>

Krzysiek



Re: szkolka
#8836
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 12:16
13 lines
181 bytes
> skoro juz:
> s='IVXLCDM'.split('')[o-->3?b+N%2+(N&=~1,o=1):b]+s
>
> to czemu nie:
>
> s='IVXLCDM'.charAt(o-->3?b+N%2+(N&=~1,o=1):b)+s

Hehe, zrobilem to juz dawno :P

Krzysiek



Re: szkolka
#8840
Author: "Vax"
Date: Mon, 20 Jan 2003 12:48
24 lines
484 bytes
U�ytkownik "Krzyszt_off" <leszek.miller@grube.ryby.pl> napisa� w wiadomo�ci
news:b0gg9m$38r$1@news.tpi.pl...
[...]
> natomiast zwroc uwage na s=b=''
[...]
> Vax, say You are proud of me... ;-)

olac postincrementacje, ale...
spostrzezenie iz w np. charAt argument ''==0
jest godne podziwu :))))

pozdrawiam - v.

PS. rwiesz dalej? :))
function rome(N,s,b,a,o){
 for(s=b='',a=5;N;b++,a=7-a)
  for(o=N%a,N=N/a^0;o--;)s='IVXLCDM'.charAt(o&2?b+N-(N&=~1)+(o=1):b)+s
 return s
}




Re: szkolka
#8842
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 13:02
41 lines
501 bytes
> olac postincrementacje, ale...
...ale warto wiedziec :)

> PS. rwiesz dalej? :))
> function rome(N,s,b,a,o){
>  for(s=b='',a=5;N;b++,a=7-a)
>   for(o=N%a,N=N/a^0;o--;)s='IVXLCDM'.charAt(o&2?b+N-(N&=~1)+(o=1):b)+s
>  return s
> }

Wynik dzialania Twojej funkcji:

I
II
IV
IV
V
VI
VII
IX
IX
X
XI
XII
XIV
XIV
XV
XVI
XVII
XIX
XIX
XX
...

Tez sie na tym nacialem, tylko w inny sposob, w jednym z moich poprzednich
postow, do ktorego zreszta wypuscilem errate. Wiec Vax, Ty tez sie popraw :P

Krzysiek



Re: szkolka
#8843
Author: "Vax"
Date: Mon, 20 Jan 2003 13:04
19 lines
370 bytes
U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
news:b0gnmf$bqs$1@news.tpi.pl...

errata - literowka, zamiast "&2" winno byc ">2"

function rome(N,s,b,a,o){
 for(s=b='',a=5;N;b++,a=7-a)
  for(o=N%a,N=N/a^0;o--;)s='IVXLCDM'.charAt(o>2?b+N-(N&=~1)+(o=1):b)+s
 return s
}

dzieki '-' w srodku mam "toFloat" bez wymuszania nadmiarowym '+' na poczatku
;)))

v.



Re: szkolka
#8844
Author: "Vax"
Date: Mon, 20 Jan 2003 13:07
20 lines
333 bytes
U�ytkownik "Krzyszt_off" <leszek.miller@grube.ryby.pl> napisa� w wiadomo�ci
news:b0go7k$gss$1@news.tpi.pl...
> Wynik dzialania Twojej funkcji:
>
> I
> II
> IV
> IV

[...]

blednie poszlo &2 zamiast >2, "&" to wynik poszukiwania oszczednosci
gdzie indziej, nie usuniety przed wyslaniem - errata poszla przed momentem
;)

v.



[OT]: szkolka
#8852
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 15:34
22 lines
240 bytes
IVXLCDM... Wlasnie zauwazylem, ze autorzy wielu terminow
(skrotow) zwiazanych z informatyka musieli sporo siedziec
nad cyframi rzymskimi...

XML
VIM
VXD
DLL
MCI
MDI
VCL
CLX
DVD
ICM
...

Znacie jeszcze cos (trzyliterowego)? :-)

Krzysiek



Re: szkolka
#8856
Author: "Bogdan B�aszc
Date: Mon, 20 Jan 2003 16:40
31 lines
703 bytes
U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
news:b0gojo$kcq$1@news.tpi.pl...
>
> U�ytkownik "Vax" <vax@ircx.pl> napisa� w wiadomo�ci
> news:b0gnmf$bqs$1@news.tpi.pl...
>
> errata - literowka, zamiast "&2" winno byc ">2"
>
> function rome(N,s,b,a,o){
>  for(s=b='',a=5;N;b++,a=7-a)
>   for(o=N%a,N=N/a^0;o--;)s='IVXLCDM'.charAt(o>2?b+N-(N&=~1)+(o=1):b)+s
>  return s
> }

dobrze sie bawicie cooo? :)))

urywam jeden znak poprzez xorowa wersje przelacznika

function rome(N,s,b,a,o){
 for(s=b='',a=5;N;b++,a^=7)
  for(o=N%a,N=N/a^0;o--;)s='IVXLCDM'.charAt(o>2?b+N-(N&=~1)+(o=1):b)+s
 return s
}

BlaTek
ps. i tak powstaje cos czego nikt pozniej nie rozumie, a jednak dziala
:)))))



Re: szkolka
#8857
Author: "Vax"
Date: Mon, 20 Jan 2003 16:50
25 lines
667 bytes
U�ytkownik "Bogdan B�aszczak" <blatek@twentyfive[toDigits].pl> napisa� w
wiadomo�ci news:b0h54d$no9$1@news.tpi.pl...
[...]
> dobrze sie bawicie cooo? :)))

yessssssss :)))))

> urywam jeden znak poprzez xorowa wersje przelacznika

E-U-RE-KA !!!
na to wlasnie czekalem, a jakos nikt nie kwestionowal
mojego a=7-a, a 111(2) az _kluje_ w oczy :)))))))))))))

> ps. i tak powstaje cos czego nikt pozniej nie rozumie, a jednak dziala
> :)))))

praca zbiorowa zrozumiala jedynie przez autorow i ok 5 postronnych osob,
ktorej analiza zajmuje duzo wiecej niz samo napisanie ;)))

ufff - v.
PS. czyzby to juz koniec? (mam jakies "niejasne" przeczucia, ze nie ;)))



Re: szkolka
#8861
Author: "Krzyszt_off"
Date: Mon, 20 Jan 2003 23:59
21 lines
796 bytes
> PS. czyzby to juz koniec? (mam jakies "niejasne" przeczucia, ze nie ;)))

Ha! Mam Cie!!! Teraz wszystko jasne - jesli jeszcze chcesz cos z tego
kodu wyciac, to znaczy, ze jednak jestes cyborgiem. Kamien z serca
- moge isc spokojnie spac i rano bez nerwow czytac dalej ten watek...

A tak na powaznie:
zastanawiam sie, czy zonglowac dalej tymi pileczkami, czy tez
skombinowac jakies nowe... Siedze i przerzucam bloki kodu z miejsca
na miejsce, bawie sie operatorami itp., ale ciagle to jest ten sam kod.
Moze sprobowac inaczej? Podpowiedz, Vax, czy ideal bardzo sie
rozni od obecnej wersji, czy jednak da sie bez radykalnych zmian
skrocic jeszcze ten kod?

Krzysiek

P.S.: Coder, a Ty gdzie sie podziewasz??? Juz tyle czasu ten watek
trwa, a Ciebie ani widu, ani slychu, tudziez czytu postu.



Re: szkolka
#8867
Author: "Coder"
Date: Tue, 21 Jan 2003 12:38
10 lines
250 bytes
> P.S.: Coder, a Ty gdzie sie podziewasz??? Juz tyle czasu ten watek
> trwa, a Ciebie ani widu, ani slychu, tudziez czytu postu.

Pan coder jest chory i lezy w lozeczku. Przy 39C nie jest w stanie sklecic
ani jednego madrego zdania...

Pozdrawiam



Re: szkolka
#8868
Author: "Krzyszt_off"
Date: Tue, 21 Jan 2003 13:00
16 lines
540 bytes
> > P.S.: Coder, a Ty gdzie sie podziewasz??? Juz tyle czasu ten watek
> > trwa, a Ciebie ani widu, ani slychu, tudziez czytu postu.
>
> Pan coder jest chory i lezy w lozeczku. Przy 39C nie jest w stanie sklecic
> ani jednego madrego zdania...

Zalecam dwa razy dziennie podwojna dawke operatora this oraz czeste
plukanie gardla operatorem void, a takze - w razie koniecznosci -
postinkrementacje. Acha, zapomnialbym o okladach z setTimeout.
Jak widzisz, JavaScript jest dobre na wszystko, a wiec kuruj
sie i wracaj do zywych.

Krzysiek



Re: szkolka
#8869
Author: "Vax"
Date: Tue, 21 Jan 2003 14:02
34 lines
998 bytes
U�ytkownik "Krzyszt_off" <leszek.miller@grube.ryby.pl> napisa� w wiadomo�ci
news:b0hv01$hto$1@news.tpi.pl...
> > PS. czyzby to juz koniec? (mam jakies "niejasne" przeczucia, ze nie ;)))

...a ja sie tu cholera spodziewalem zachwytow i glebszej
analizy patentu binarnego... czy _nikt_ procz Blatka
nie pamieta poprzedniej "szkolki" z zadaniem "all lights"? ;)))

tam wlasnie bylo napomkniete, ze XOR jest jednoznaczny
i odwracalny ;))
wiec procz:
C=(A*B)/C
C=(A+B)-C
czemu nie:
C=(A^B)^C (tylko calkowite, niestety ;)

a Blatek skorzystal z faktu, ze kolejnosc argumentow
przy XOR nie ma znaczenia, wobec czego
C=C^(A^B) --> C^=(A+B)

...ucial niby tylko jeden byte, ale to jedno z _najladniejszych_ ciec
w tym przykladzie :)))

a co de reszty pytan... "przerzucanie blokow kodu" to chyba eufemizm...
tu mamy do czynienia co najwyzej z zonglowaniem literkami ;))))

eh... nawet spirytusu nie da sie destylowac w nieskonczonosc,
a my juz jestesmy bardzo, bardzo blisko "absolutu"... ;)

v.



Page 1 of 2 • 69 total messages
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads