język c++

Bogus
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 12 gru 2007, o 16:13
Płeć: Mężczyzna
Lokalizacja: WAWA

język c++

Post autor: Bogus »

Zdefiniuj algorytm, który dla dowolnej liczby naturalnej n wyznaczy sumę wszystkich liczb podzielnych przez 5 mniejszych od podanej liczby n. Rozwiązanie zadania ma zawierać:

* specyfikację problemu;
* listę kroków;
* schemat blokowy
* kod zapisany w języku C++.
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

język c++

Post autor: soku11 »

Kod krotki i zapewne nie wymagajacy wyjasnien:

Kod: Zaznacz cały

#include <iostream>
using namespace std;

typedef unsigned int uint;
typedef const unsigned int cuint;

int main()
{
  uint Liczba=0;
  uint Suma=0;
  cuint Dzielnik=5;

  cout<<"Podaj liczbe: ";
  cin>>Liczba;

  for(uint i=0;i<Liczba;i+=Dzielnik)
    Suma+=i;

  cout<<"Suma wynosi: "<<Suma;

  return 0;
}
Dobuduj sobie do tego reszte polecen Pozdrawiam.
Dumel
Użytkownik
Użytkownik
Posty: 2000
Rejestracja: 19 lut 2008, o 17:35
Płeć: Mężczyzna
Lokalizacja: Stare Pole/Kraków
Podziękował: 60 razy
Pomógł: 202 razy

język c++

Post autor: Dumel »

lepiej to zrobić w stałym czasie ze wzoru na sumę ciągu arytmetycznego
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

język c++

Post autor: soku11 »

Nom racja mozna i tak Pozdrawiam.
Awatar użytkownika
Anathemed
Użytkownik
Użytkownik
Posty: 101
Rejestracja: 12 lip 2007, o 21:09
Płeć: Mężczyzna
Lokalizacja: Kraków
Pomógł: 34 razy

język c++

Post autor: Anathemed »

Dumel pisze:lepiej to zrobić w stałym czasie ze wzoru na sumę ciągu arytmetycznego
To nie będzie czas stały, tylko \(\displaystyle{ O(lgnlglgn)}\) (mnożenie dwóch liczb zajmuje trochę czasu )
Trochę się czepiam, ale warto mieć świadomość tego typu drobnych różnic
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

język c++

Post autor: kadiii »

Ze wzoru to jest w czasie stałym - \(\displaystyle{ O(1)}\). Warto sobie zdać sprawę, że jak sama nazwa wskazuje, czas stały to stała liczba operacji bez względu na ilość danych wejściowych. Czyli wzór to oczywiście \(\displaystyle{ O(1)}\)- czas stały.
ODPOWIEDZ