• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rekurencja gorsza od pętli? Dłuższy czas wykonywania programu.

Object Storage Arubacloud
+1 głos
206 wizyt
pytanie zadane 28 lipca 2016 w C i C++ przez hakiros54 Obywatel (1,160 p.)
edycja 28 lipca 2016 przez Patrycjerz

witam, właśnie skończyłem robić zadanie domowe z 13 odcinka i coś mi nie gra... mianowicie czas wykonywania rekurencji jest o wiele dłuższy od pętli for, dodatkowo czas dziwnie się zachowuje,  dając tą samą liczbe raz się robi 0.3 s, raz ponad 4 sekundy... co tym razem zepsułem :/? 

#include <iostream>
#include <time.h>
#include <iomanip>
using namespace std;
double start, koniec, czas;
int ile, odliczanie;
long int razem=1;
long int silnia(int n)
{
 if (n==0){return 1;}
 else return n*silnia(n-1);
}
int main()
{
    setprecision(0.00001);
    start=clock();
    cout<<"jaka liczba silni?"<<endl;
    cin>>ile;
    cout <<silnia(ile)<<endl;
    koniec=clock();
    czas=(double)(koniec-start)/CLOCKS_PER_SEC;
    cout<<czas<<endl;
    start=clock();
 odliczanie=1;
 for(int i=0; i<ile; i++)
 {
  razem*=odliczanie;
  odliczanie++;

 }
cout<<razem<<endl;
koniec=clock();
czas=(double)(koniec-start)/CLOCKS_PER_SEC;
cout<<czas<<endl;





    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 28 lipca 2016 przez Patrycjerz Mędrzec (192,320 p.)
komentarz 28 lipca 2016 przez hakiros54 Obywatel (1,160 p.)
na start napiszę że myślałem że to może coś psuć więc to wyrzucałem z kodu ale i tak rekurencja wykonywała się dłużej...
komentarz 28 lipca 2016 przez Patrycjerz Mędrzec (192,320 p.)
Zapewne wywołanie nowej funkcji zajmuje więcej czasu, niż pomnożenie dwóch wartości - ot, cała filozofia.
komentarz 29 lipca 2016 przez hakiros54 Obywatel (1,160 p.)
na filmie pan Mirosław Zelent mówił że stosowanie rekurencji wpływa pozytywnie na czas wykonywania programu i dlatego się ją stosuje...

Podobne pytania

0 głosów
4 odpowiedzi 2,152 wizyt
pytanie zadane 15 października 2015 w C i C++ przez grzecho123 Początkujący (450 p.)
0 głosów
1 odpowiedź 231 wizyt
pytanie zadane 14 października 2015 w C i C++ przez grzecho123 Początkujący (450 p.)
0 głosów
1 odpowiedź 205 wizyt
pytanie zadane 14 stycznia 2023 w C# przez Freak44 Początkujący (300 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...