Wielomiany Legendre za pomocą wielomianów Czebyszowa
Mariusz:
Napisz funkcję w dowolnym języku programowania
która wyrażałaby wielomiany Legendre za pomocą wielomianów Czebyszowa
Wiemy że
P
0(x) = T
0(x)
∑
k=0nP
k(x)T
n−k(x)=(n+1)P
n(x)
| 1 | |
Tn(x)Tm(x)= |
| (Tn+m(x)+Tn−m(x)) , n ≥ m |
| 2 | |
2 mar 18:16
sata: Przytoczę słynny cytat autorytetu w dziedzinie informatyki D. Knuth'a:
"Languages come and go,
but algorithms stand the test of time"
więc poznaj algorytm a jak już to zrobisz to zaimplementujesz to w dowolnym języku
programowania nawet SCL
inaczej zostaniesz nędznym klepaczem kodu na wieki wieków amen
4 mar 10:19
Mariusz:
A ten znowu się odpalił
Szkoda że nie ma kto usuwać tych jego bezsensownych wpisów
5 mar 13:58
Mila:
sata nie cytuj mądrości różnych geniuszy, bo każdy z nas wie kim chce i może zostać.
To nie Twoja sprawa. Wejdź na jakieś forum geniuszy i zmierz się z nimi.
Gdy byłam studentką i na egzaminie zawahałam się z dowodem to Pan Profesor
(34 letni− według nas geniusz) podszedł do tablicy, zabrał mi kredę i dopisał kilka znaków,
dalej było dla mnie proste. Ty byś pewnie skomentował w stylu : "inaczej zostaniesz nędznym...
Pozdrawiam
5 mar 18:09
Mariusz:
Samo zadanie jest łatwe
Dla początkujących
Udało mi się zapisać to w kodzie ale mój pomysł ma dość dużą złożoność
obliczeniową zarówno czasową jak i pamięciową
Jeżeli ktoś dopiero zaczyna bawić się programowaniem to zadanie nie jest aż takie złe
6 mar 01:52
Mariusz:
Mila na matematyka.pl był podobny typ miodzio się nazywał
Teraz już nie wchodzi i jakoś forum na tym wiele nie straciło
6 mar 01:54
sata: @Mila ten cytat ma tutaj akurat duży sens, praca programisty polega m.in na pisaniu programów
mając dany algorytm w postaci listy kroków, schematu blokowego itd
teraz pisząc program trzeba rozważyć różne możliwości weźmy dla przykłądu coś prostego
algorytm generacji liczb pierwszych w prostym podejściu można to zrobić tak:
Input n
lp = 0
p = 2
While lp < n
t = 1
For d = 2 To p−1
If p Mod d = 0 Then
t = 0
Exit For
End If
Next
If t = 1 Then
Print p;" ";
lp += 1
End If
p += 1
Wend
Print
jednak dla dużych n robi nam się już problem ponieważ mamy tu złozonośc O(n2) można oczywiście
ulepszać ten algorytm np poprzez eliminacje ze sprawdzania liczb parzystych złożonych
dochodząc do znanych algorytmów jak sito Eratostenesa− jego też możemy ulepszyć dochodząc do
algorytmu sita liniowego a finalnie sita Atkina−Bernsteina
ten jakże prosty przykład pokazuje iż algorytmika to ciągła nauka i w zależności od tego co
potrzebujemy możemy wykorzystać daną wersje algorytmu
to o co pyta Mariusz a właściwie oczekuje napisania za niego też ma różne implementacje gorsze
jak i lepsze ale one są ogólnie dostępne w literaturze w opracowaniach w tym przypadku
należałoby sięgnąć do pozycji z metod numerycznych zaimplementować daną wersje algorytmu i
wtedy ewentualnie pytać o szczegóły inaczej to jest poziom klepacza kodu ktoś napisze
kopiuj/wklej cacy
6 mar 08:41