| Matma / Szukam funkcji... |
| Autor | Wiadomość |
| daeron69
|
Posted: 22 Kwi 2000 05:46:23 Czesc, Szukam prostego algorytmu, ktory oblicza ilosc jedynek w binarnym rozwinieciu liczby... Jak narazie nie bardzo mam pomysl na jakas matematyczna formule... moze ktos sie z takim cudem zetknal? Jesli tak, to bylbym wdzieczny za pomoc. Pozdrawiam serdecznie i milych swiat... Moja Wysokosc Michal Rogozinski |
| Grzegorz Król
|
Posted: 23 Kwi 2000 17:03:26 Dnia Sat, 22 Apr 2000 07:46:23 +0200, Czesc,
Szukam prostego algorytmu, ktory oblicza ilosc jedynek w binarnym rozwinieciu liczby... Jak narazie nie bardzo mam pomysl na jakas matematyczna formule... moze ktos sie z takim cudem zetknal? Jesli tak, to bylbym wdzieczny za pomoc. a=liczba licznik=0 while a<0 do licznik = licznik + (a mod 2) a = a div 2 od write licznik Program chyba nie wymaga komentarza. Grzesiek |
| Poskrobko
|
Posted: 24 Kwi 2000 05:48:02 Chyba wystarczy zrobic procedurke na zamiane na binarne, i po prostu zliczyc jedynki. Jakbys chcial, to dysponuje czyms takim, ale to dopiero w maju. Choc ta metoda nie bedzie dokladna; wszystko sie zakonczy na dokladnosci maszyny. Jesli Cie dalej interesuje, to napisz, troche rozwine. Pozdrowienia Kuba Poskrobko ---------- Temat: Szukam funkcji... Data: sobota 22 kwietnia 2000 07:46 Czesc, Szukam prostego algorytmu, ktory oblicza ilosc jedynek w binarnym rozwinieciu liczby... Jak narazie nie bardzo mam pomysl na jakas matematyczna
formule... moze ktos sie z takim cudem zetknal? Jesli tak, to bylbym wdzieczny za
pomoc. Pozdrawiam serdecznie i milych swiat... Moja Wysokosc Michal Rogozinski |
| PiotrCF
|
Posted: 24 Kwi 2000 09:15:09 daeron69 napisal w wiadomosci: ... Szukam prostego algorytmu, ktory oblicza ilosc jedynek w binarnym rozwinieciu liczby...
Wedlug http://www.research.att.com/~njas/sequences/index.html Sequence: 0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4, 4,5,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5, 4,5,5,6,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4, 4,5,4 Formula: a(0) = 0, a(2n) = a(n), a(2n+1) = a(n) + 1 (Robert G. Wilson v, Maple: wt:=proc(n) local w,m,i; w:=0; m:=n; while m 0 do i := m mod 2; w:=w+i; m:=(m-i)/2; od; w; end: PF |
| Poskrobko
|
Posted: 25 Kwi 2000 06:38:48 ---------- Szukam prostego algorytmu, ktory oblicza ilosc jedynek w binarnym rozwinieciu liczby... Jak narazie nie bardzo mam pomysl na jakas
a=liczba licznik=0 while a<0 do licznik = licznik + (a mod 2) a = a div 2 od write licznik Program chyba nie wymaga komentarza. Grzesiek Z definicji rozwiniecie binarne jest szeregiem, zatem by jeszcze trzeba dorzucic jakis dodatkowy warunek wyjscia z petli; np. |a|< E, gdzie E jest jakas ustalona liczba (stala maszynowa np.). Pozdrowienia Kuba Poskrobko |
| Piotr|||
|
Posted: 26 Kwi 2000 17:43:31 napisał: Szukam prostego algorytmu, ktory oblicza ilosc jedynek w binarnym
rozwinieciu liczby... Jak narazie nie bardzo mam pomysl na jakas matematyczna
formule... moze ktos sie z takim cudem zetknal? Jesli tak, to bylbym wdzieczny za
pomoc. Chyba najszybszy algorytm jest taki, ze potrafi "zgadywac gdzie sa jedynki", tzn. petla wykona sie tyle razy, ile jest jedynek : liczba:=... licznik:=0; WHILE liczba < 0 DO BEGIN inc(licznik); liczba:=liczba AND (liczba-1); END; x AND y oznacza liczbe, której rozwiniecie binarne jedynki na tych i tylko tych pozycjach, na których jedynki maja jednoczesnie x i y. Pozdrawiam. Piotr. |