Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
pavlintseva
1 / 1 / 2
Регистрация: 16.02.2011
Сообщений: 34
1

Сравнить функции(рекурсивную и итерационную) по скорости выполнения для больших чисел

25.02.2011, 17:11. Просмотров 731. Ответов 2
Метки нет (Все метки)

Вот мой код вычисления Факториала. а как посчитать время выполнения?Функции timeGetTime и GetTickCount и как их применить?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<stdio.h>
 
 
 int Factorial(int n)
{if (n==1) return (1);
else return(Factorial(n-1)*n);
}
int FactorialNotRec (int n)
{
    int i,f=1;
    for (i=1;i<n+1;i++)
    {
        f=f*i;
    }
    return(f);
}
int main()
{
    int i,n;
    printf("Vvedite n: \n");
    scanf("%d",&n);
    if(n<=0)
    {
        printf("Nevernoe znachenie!\n");
    }
    else {
    printf("Recurs: %d!=%d\n",n,Factorial(n));
    printf("Circle: %d!=%d\n",n,FactorialNotRec(n));
    }
getch()
}
p.s. привет Борису Игоревичу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2011, 17:11
Ответы с готовыми решениями:

Написать рекурсивную и итерационную функцию возведения числа в степень. Сравнить работы программ
-Написать рекурсивную функцию возведение вещественного числа в целую степень...

Преобразовать итерационную функцию в рекурсивную. Проверка на попарное различие цифр в числе
bool T(int buf){ bool flag=true; while(buf&gt;0 &amp;&amp; flag){ int x=buf%10;...

Разработать рекурсивную функцию для вычисления значения функции Аккермана для неотрицательных чисел n и m
Разработать рекурсивную функцию:для вычисления значения функции Аккермана для...

Реализуйте итерационную версию функции, которая реализует алгоритм пузырьковой сортировки над списком чисел
Реализуйте итерационную версию функции, которая реализует алгоритм пузырьковой...

используя рекурсивную реализацию функции для чисел фибоначчи доказать Fn + 1Fn - 1 - Fn2 = (- 1)n (Кассини))
используя рекурсивную реализацию функции для чисел фибоначчи доказать Fn + 1Fn...

2
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
25.02.2011, 17:23 2
C
1
2
3
4
5
6
#include<windows.h>
 
double start = GetTickCount();
//Действие
double finish = GetTickCount();
finish - start; // время
Добавлено через 9 минут
Или так
C
1
2
3
4
5
6
7
#include <time.h>
 
//...
const clock_t start = clock();
// Действие которые надо измерить
const double duration = double(clock() - start) / CLOCKS_PER_SEC;
//...
0
pavlintseva
1 / 1 / 2
Регистрация: 16.02.2011
Сообщений: 34
25.02.2011, 18:14  [ТС] 3
C
1
2
3
4
5
6
7
8
9
10
11
 double start = GetTickCount();
    int Factorial(int n);
double finish = GetTickCount();
(double)finish - start;
printf("%f\n", finish - start);
 
  double start1 = GetTickCount();
    int FactorialNotRec (int n);
double finish1 = GetTickCount();
(double)finish1 - start1;
printf("%f\n", finish1 - start1);
одни нули выводит
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2011, 18:14

Посторочное введение параметров из файла в виде чисел для выполнения функции
Здравствуйте, форумчане. Возникла следующая проблема, надеюсь на вашу помощь....

Оптимизация кода для повышения скорости выполнения?
Есть ли какая возможность в VBA замера производительности как в 1С с указанием...

Написать функции для выполнения операций над одномерным массивом целых чисел
Написать функции для выполнения операций над одномерным массивом целых чисел:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru