ALG)8
298 Rozdział 13. Kodowanie i kompresja danych
W konsekwencji, jeśli będziemy interpretować duże liczby jako wielomiany, to wszelkie operacje na tych liczbach mogą zostać zastąpione algorytmami działającymi na wielomianach.
Aby dodawać i mnożyć duże liczby całkowite, musimy zatem nauczyć się dodawać i mnożyć... wielomiany!
Reprezentacja wielomianu w' C++ jest najprostsza przy użyciu tablic, służących do zapamiętywania współczynników. Wielomian stopnia n i zmiennej x jest ogólnie definiowany następująco:
W(x) - anx" + an_|X"~' +...+a,x + a0.
Obliczanie wartości W(b) dla pewnego b, wydaje się dość kosztowne z uwagi na konieczność wielokrotnego mnożenia i dodawania:
int oblicz_wielomianl(int b, int wfl, int rozm)
(
int res=0,pot=l;
for(int j=rozm-l;j>=0;j—)
(
res+=pot*w[j]; // sumy cząstkowe
pot*=b; // następna potęga b
ł
return rea;
I
(W przypadku wielomianów o współczynnikach niecałkowitych, należy wszędzie zamienić typ int na double).
Istnieje jednak tzw. schemat Horneraó pozwalający na znacznie prostsze obliczenie W(b)\
\V{h) - . ((a„b + )h + a„_2 )h+.. .+a, jb + a0.
Realizacja schematu I lornera może być następująca:
int oblicz_wielomianż(int a, int w[],int rozm)
int res=w[0);
for(int j=l;j<rozm;res=res*a+w[j++]); return res;
)
const n=5; II stopień wielomianu
void main()
6 Wynalazcą tej procedury był tak naprawdę isaac Newton, ale historia przypisała ją Homerowi.
Wyszukiwarka
Podobne podstrony:
ALG)4 294 Rozdział 13. Kodowanie i kompresja danych jednak w przypadku zwykłych tekstów, zawierającyALG00 300 Rozdział 13. Kodowanie i kompresja danych struct wsp *nastepny; }WSPÓŁCZYNNIKI, * WSALG02 302 Rozdział 13. Kodowanie i kompresja danych Podnoszenie do potęgi może być zrealizowane poprALG04 304 Rozdział 13. Kodowanie i kompresja danych 304 Rozdział 13. Kodowanie i kompresja danych RyALG08 308 Rozdział 13. Kodowanie i kompresja danych • weź dwa znaki X i Y z najmniALG06 306Rozdział 13. Kodowanie i kompresja danych tekst zająłby 3x60=180 bitów. Popatrzmy teraz, jaALG)6 296RozdziaH3. Kodowanie i kompresja danych nak jej praktyczna realizacja została opracowana pr298 (7) ROZDZIAŁ 13___Obróbka cieplno-plastycznaWPROWADZENIE13.1. Co to jest obróbALG)3 Rozdział 13Kodowanie i kompresja danych W chwili obecnej coraz więcej komputerów jest podłączaALG)5 13.1. Kodowanie danych i arytmetyka dużych liczb 295 dencji, jednak w praktyce najczęstsze zasALG)7 13.1. Kodowanie danych i arytmetyka dużych liczb 297 liczby pierwsze 5, NI i N2 (typowo 100 cyALG)9 13.1. Kodowanie danych i arytmetyka dużych liczb 299 ( int w[n]-{1,4,-2,O,7(; // współczynniki78119 skanuj0346 (3) Rozdział 13. ♦ Współpraca PHP i MySQL 361Łączenie z bazą danych Do nawiązania p49817 skanuj0348 (3) Rozdział 13. ♦ Współpraca PHP i MySQL else{ echo{ Została wybrana baza danych:ALG 3 Rozdział 5Struktury danych Nikogo nie trzeba chyba przekonywać o wadze tematu, który zostanieALG&4 264 Rozdział 10. Elementy algorytmiki gratów Używając danych z rysunku 10 - 14, algorytm mógłbALG03 13.2. Kompresja danych metodą Huflinana 303 Dwa krótkie sygnały oznaczają znak krótki i długiwięcej podobnych podstron