[Algorytmy] Suma wyrazów ciągu
-
- Użytkownik
- Posty: 3
- Rejestracja: 26 sty 2012, o 11:08
- Płeć: Mężczyzna
- Lokalizacja: Strzyżów
[Algorytmy] Suma wyrazów ciągu
Witam wszystkich forumowiczów
Mam przed sobą dość ciekawe zadanie, które zafundował nam wykładowca na egzaminie. Otóż mam coś takiego:
Obliczyć za pomocą \(\displaystyle{ o(1)}\) dodawań następującą sumę:
gdzie: n - dana wprowadzania do programu \(\displaystyle{ (n \ge 0)}\)
\(\displaystyle{ 1\\
+1+2\\
+1+2+3\\
+1+2+3+4\\
...\\
+1+2+3+...+n}\)
Wiem jak zadanie ma być zrealizowane od strony informatycznej. I TU właśnie tkwi problem, bo trzeba to zrobić za pomocą jednego konkretnego wzoru.
Tutaj pojawia się moje pytanie do Was: jak się da to obliczyć???
Za wszelką pomoc serdecznie dziękuje
Pozdrawiam.
Mam przed sobą dość ciekawe zadanie, które zafundował nam wykładowca na egzaminie. Otóż mam coś takiego:
Obliczyć za pomocą \(\displaystyle{ o(1)}\) dodawań następującą sumę:
gdzie: n - dana wprowadzania do programu \(\displaystyle{ (n \ge 0)}\)
\(\displaystyle{ 1\\
+1+2\\
+1+2+3\\
+1+2+3+4\\
...\\
+1+2+3+...+n}\)
Wiem jak zadanie ma być zrealizowane od strony informatycznej. I TU właśnie tkwi problem, bo trzeba to zrobić za pomocą jednego konkretnego wzoru.
Tutaj pojawia się moje pytanie do Was: jak się da to obliczyć???
Za wszelką pomoc serdecznie dziękuje
Pozdrawiam.
Ostatnio zmieniony 26 sty 2012, o 14:14 przez Afish, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
-
- Użytkownik
- Posty: 5101
- Rejestracja: 11 mar 2011, o 16:31
- Płeć: Mężczyzna
- Lokalizacja: 52°16'37''N 20°52'45''E
- Podziękował: 4 razy
- Pomógł: 1001 razy
[Algorytmy] Suma wyrazów ciągu
Czy na pewno ma być \(\displaystyle{ o(1)}\) a nie \(\displaystyle{ O(1)}\)? I czy oprócz dodawania można stosować coś jeszcze, na przykład mnożenie?
-
- Użytkownik
- Posty: 3
- Rejestracja: 26 sty 2012, o 11:08
- Płeć: Mężczyzna
- Lokalizacja: Strzyżów
[Algorytmy] Suma wyrazów ciągu
Chodzi o złożoność obliczeniową czyli \(\displaystyle{ o(1)}\)
Co do drugiego, to wszystkie chwyty dozwolone, byle była tak, a nie inna złożoność obliczeniowa tego algorytmu.
Pozdrawiam.
Co do drugiego, to wszystkie chwyty dozwolone, byle była tak, a nie inna złożoność obliczeniowa tego algorytmu.
Pozdrawiam.
-
- Użytkownik
- Posty: 5101
- Rejestracja: 11 mar 2011, o 16:31
- Płeć: Mężczyzna
- Lokalizacja: 52°16'37''N 20°52'45''E
- Podziękował: 4 razy
- Pomógł: 1001 razy
[Algorytmy] Suma wyrazów ciągu
To bez sensu. Oznacza to że dla bardzo dużych \(\displaystyle{ n}\) program ma działać w zerowym czasie.80Wieta08 pisze:Chodzi o złożoność obliczeniową czyli \(\displaystyle{ o(1)}\)
-
- Użytkownik
- Posty: 9833
- Rejestracja: 18 gru 2007, o 03:54
- Płeć: Mężczyzna
- Lokalizacja: Bydgoszcz
- Podziękował: 90 razy
- Pomógł: 2632 razy
[Algorytmy] Suma wyrazów ciągu
Wystarczy skorzystać ze wzorów:
\(\displaystyle{ \sum_{k=1}^nk=\frac{n(n+1)}{2}\\
\sum_{k=1}^nk^2=\frac{n(n+1)(2n+1)}{6}}\)
Zależnie od gustu - można najpierw zsumować wiersze, a potem kolumny; lub najpierw kolumny a potem wiersze (ja bym wybrał drugą kolejność).
Q.
\(\displaystyle{ \sum_{k=1}^nk=\frac{n(n+1)}{2}\\
\sum_{k=1}^nk^2=\frac{n(n+1)(2n+1)}{6}}\)
Zależnie od gustu - można najpierw zsumować wiersze, a potem kolumny; lub najpierw kolumny a potem wiersze (ja bym wybrał drugą kolejność).
Q.
-
- Użytkownik
- Posty: 5101
- Rejestracja: 11 mar 2011, o 16:31
- Płeć: Mężczyzna
- Lokalizacja: 52°16'37''N 20°52'45''E
- Podziękował: 4 razy
- Pomógł: 1001 razy
[Algorytmy] Suma wyrazów ciągu
Można też zauważyć że suma jest równa
\(\displaystyle{ \binom23+\binom22+\binom32+\binom42+\ldots+\binom{n+1}2}\),
co od lewej strony się zwija do \(\displaystyle{ \binom{n+2}3}\).
Tak czy siak algorytm jest w czasie stałym, ale nie zerowym.
\(\displaystyle{ \binom23+\binom22+\binom32+\binom42+\ldots+\binom{n+1}2}\),
co od lewej strony się zwija do \(\displaystyle{ \binom{n+2}3}\).
Tak czy siak algorytm jest w czasie stałym, ale nie zerowym.
-
- Użytkownik
- Posty: 3
- Rejestracja: 26 sty 2012, o 11:08
- Płeć: Mężczyzna
- Lokalizacja: Strzyżów
[Algorytmy] Suma wyrazów ciągu
Przepraszam ze usterkę w temacie. Wybaczcie, ale gościu z którym to mamy jest w innym świecie jak wykłada i rodzą się tego typu problemy.
Chodziło tu oczywiście o \(\displaystyle{ O(1)}\), ale to chyba i tak niczego nie zmieni, prawda ??
Pozdrawiam.
Chodziło tu oczywiście o \(\displaystyle{ O(1)}\), ale to chyba i tak niczego nie zmieni, prawda ??
Pozdrawiam.
-
- Użytkownik
- Posty: 5101
- Rejestracja: 11 mar 2011, o 16:31
- Płeć: Mężczyzna
- Lokalizacja: 52°16'37''N 20°52'45''E
- Podziękował: 4 razy
- Pomógł: 1001 razy
[Algorytmy] Suma wyrazów ciągu
Zmieni. \(\displaystyle{ O(1)}\) to jest czas stały. Jeśli dodawanie, mnożenie i dzielenie mamy w czasie stałym, to policzenie
\(\displaystyle{ \binom{n+2}3=\frac{n(n+1)(n+2)}6}\)
zajmie czas stały (\(\displaystyle{ 5}\) operacji), więc takie rozwiązanie powinno być ok.
Grzesio_, napisz pełnym zdaniem bo nie wiem o co chodzi.
\(\displaystyle{ \binom{n+2}3=\frac{n(n+1)(n+2)}6}\)
zajmie czas stały (\(\displaystyle{ 5}\) operacji), więc takie rozwiązanie powinno być ok.
Grzesio_, napisz pełnym zdaniem bo nie wiem o co chodzi.