- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void O_n (long int n, double *s, double *p)
- {
- double Suma = 0.;
- int a = 0;
- double Proizvod = 1.;
- for (; a < n; ++a)
- Suma += a, Proizvod *= a;
- *s = Suma;
- *p = Proizvod;
- }
- void O_2n (long int n, double *s, double *p)
- {
- double Suma = 0.;
- int a = 0;
- double Proizvod = 1.;
- for (; a < n; ++a)
- Suma += a;
- for (a = 0; a < n; ++a)
- Proizvod *= a;
- *s = Suma;
- *p = Proizvod;
- }
- int main ()
- {
- int n = 10000000, m = 1000, a = 0;
- double P1, P2, S1, S2, V1, V2;
- clock_t T1 = clock(), T2;
- for (; a < m; ++a)
- O_n (n, &S1, &P1);
- T2 = clock();
- V1 = (T2 - T1) / (CLOCKS_PER_SEC/1000.);
- T1 = clock();
- a = 0;
- for (; a < m; ++a)
- O_2n (n, &S2, &P2);
- T2 = clock();
- V2 = (T2 - T1) / (CLOCKS_PER_SEC/1000.);
- printf("Vrijeme 1 za O(n), pri n = %i, a m = %i je: %.1f ms.\n", n, m, V1);
- printf("Vrijeme 2 za O(2n), pri n = %i, a m = %i je: %.1f ms.\n", n, m, V2);
- return 0;
- }