Guest User

qwertyyy

a guest
Oct 29th, 2013
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.06 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <windows.h>
  4.  
  5. long int fibonacciIteracyjny(int);
  6. long int fibonacciRekurencyjny(int);
  7.  
  8. int main()
  9. {
  10.     int numerwyrazu;
  11.     printf("Podaj numer wyrazu ciagu fibbonaciego ");
  12.     scanf("%d",&numerwyrazu);
  13.     fibonacciIteracyjny(numerwyrazu);
  14.     printf("\nWyraz to %d", fibonacciIteracyjny(numerwyrazu));
  15.    
  16.     fibonacciRekurencyjny(numerwyrazu);
  17.     printf("\nWyraz to %d\n", fibonacciRekurencyjny(numerwyrazu));
  18. }
  19.  
  20. long int fibonacciIteracyjny(int numerwyrazu)
  21. {
  22.     FILE *plik = fopen("AnalizaEfektywnosciIteracyjnie.csv", "w");
  23.     int wyraz1=0, wyraz2=1, wyrazx, i;
  24.     long int tWykonania, tPoczatku, tKonca;
  25.     tPoczatku=GetTickCount();
  26.     for (i=0; i<=numerwyrazu; i++)
  27.         {
  28.             if(i<=1)
  29.             {
  30.                 wyrazx=numerwyrazu;
  31.                 tKonca=GetTickCount();
  32.                 tWykonania=tKonca-tPoczatku;
  33.                 fprintf(plik, "%d,  %d\n", i, tWykonania);
  34.             }
  35.             if(i>=2)
  36.             {
  37.                 wyrazx=wyraz1 + wyraz2;
  38.                 wyraz1=wyraz2;
  39.                 wyraz2=wyrazx;
  40.                 tKonca=GetTickCount();
  41.                 tWykonania=tKonca-tPoczatku;
  42.                 fprintf(plik, "%d,  %d\n", i, tWykonania);
  43.             }
  44.         }
  45.     fclose(plik);
  46.     return wyrazx;
  47. }
  48.  
  49. long int fibonacciRekurencyjny(int numerwyrazu)
  50. {
  51.     if(numerwyrazu < 1){ return numerwyrazu; }
  52.     else
  53.     {
  54.         return fibonacciRekurencyjny(numerwyrazu-1)+fibonacciRekurencyjny(numerwyrazu-2);
  55.     }
  56. }  
  57.  
  58. /*
  59. long int fibonacciRekurencyjny(int numerwyrazu)
  60. {
  61.     FILE *plik = fopen("AnalizaEfektywnosciRekurencyjnie.csv", "w");
  62.     int wyrazx;
  63.     long int tWykonania, tPoczatku, tKonca;
  64.     tPoczatku=GetTickCount();
  65.     if(numerwyrazu < 1){ return numerwyrazu; }
  66.     else
  67.     {
  68.         wyrazx=fibonacciRekurencyjny(numerwyrazu-1)+fibonacciRekurencyjny(numerwyrazu-2);
  69.         tKonca=GetTickCount();
  70.         tWykonania=tKonca-tPoczatku;
  71.         fprintf(plik, "%d,  %d\n", wyrazx, tWykonania);
  72.         return wyrazx;
  73.     }
  74.    
  75.     fclose(plik);
  76. }  
  77.  
  78. */
  79.  
  80. /* 
  81.     long int tWykonania, tPoczatku, tKonca;
  82.    
  83.     tPoczatku=GetTickCount();
  84.  
  85.     tKonca=GetTickCount();
  86.  
  87.     tWykonania=tKonca-tPoczatku;
  88.  
  89.     printf("\nTrwalo to %d milisekund", tWykonania);
  90.     printf("\nWyrazn o numerze %d zajelo to %d milisekund", i, tWykonania);
  91.     */
Advertisement
Add Comment
Please, Sign In to add comment