Форум программистов, компьютерный форум CyberForum.ru

Заменить рекурсию - C++

Восстановить пароль Регистрация
 
TheAlpha
6 / 6 / 2
Регистрация: 03.01.2013
Сообщений: 114
19.09.2013, 21:45     Заменить рекурсию #1
Доброго времени суток. Помогите избавиться от рекурсии

C++ (Qt)
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
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h"
#include <iostream>
#include <vector>
 
using namespace std;
 
int n;
vector<int> p(10);
vector<bool> used(10);
vector<int>s(10);
void lex(int pos)
{
    if (pos == n) {
        for (int i=0;i<n;i++)
            cout<<s[p[i]]<<" ";
        cout<<endl;
        return;
    }
    for (int i=0;i<n;i++) {
        if (!used[i]) {
            used[i] = true;
            p[pos] = i;
 
           [B] lex(pos+1);[/B]
           
            p[pos] = 0; // debug only
            used[i] = false;
        }
    }
}
int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
 int f=1;
    cin>>n;
    for (int i=0; i<n; i++)
    {s[i]=i+1; f=f*(i+1);}
    cout<<f<<endl;
   
    lex(0);
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2013, 21:45     Заменить рекурсию
Посмотрите здесь:

C++ Задача на рекурсию
Постигая рекурсию. C++
Задачка на рекурсию... C++
C++ Задача на рекурсию
заменить рекурсию на цикл C++
Рекурсию в цикл C++
Реализовать рекурсию C++
C++ Как заменить цикл while на рекурсию?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 05:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru