Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program FunctionExecutionTime;
- uses crt, utils;
- var n : integer;
- timeStart_cycle : integer;
- timeEnd_cycle : integer;
- timeStart_recursion : integer;
- timeEnd_recursion : integer;
- factorial_c : real;
- factorial_r : real;
- k : integer;
- { Метод вычисления факториала через цикл }
- function fact_cycle(n : integer):real;
- var p : real;
- begin
- p := 1;
- while(n > 1) do begin
- p := p * n;
- dec(n);
- end;
- result := p;
- end;
- { Метод вычисления факториала через цикл }
- function fact_rec(n : integer):real;
- var p : real;
- begin
- if( n = 1 ) then result := 1
- else result := n * fact_rec(n - 1);
- end;
- begin
- n := 20;
- timeStart_cycle := Milliseconds();
- for k := 1 to 1000 do begin factorial_c := fact_cycle(n); end;
- timeEnd_cycle := Milliseconds();
- timeStart_recursion := Milliseconds();
- for k := 1 to 1000 do begin factorial_r := fact_rec(n); end;
- timeEnd_recursion := Milliseconds();
- writeln(' Факториал через цикл: ', factorial_c);
- writeln(' время выполнения: ', (timeEnd_cycle - timeStart_cycle)/1000, ' сек' );
- writeln;
- writeln(' Факториал через рекурсию: ', factorial_r);
- writeln(' время выполнения: ', (timeEnd_recursion - timeStart_recursion)/1000, ' сек' );
- end.
Advertisement
Add Comment
Please, Sign In to add comment