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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
#1

составить программу с исп. рекурсии и без нее - C++

18.02.2013, 13:44. Просмотров 357. Ответов 4
Метки нет (Все метки)

Вычислить √(1+√(2+√(3+ √n )) )
Написать написано, а вот рекурсия работает не так
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
#include<iostream.h>
#include<math.h>
double f(int n)
{
    if (n==1) return 1;
    else
    
        
        return sqrt(f(n-1)+n);
    
}
int main ()
{
    int n,i;
    double s=0.;
 
    cout<<"Vvedite n:";
    cin>>n;
    cout<<endl;
    for (i=n; i>=1;i--)
    
 
        s=sqrt(s+i);
        
    
        cout<<"Result s="<<s<<endl;
            cout<<"Result S="<<f(n)<<endl;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2013, 13:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос составить программу с исп. рекурсии и без нее (C++):

Вычислить произведение сомножителей с применением рекурсии и без нее - C++
Помогите написать прогу.Рекурсию не понимаю,да и задание не очень понятно,посоветуйте где лучше написано. Вот...

Почему вычисление числа Фибоначчи с помощью рекурсии медленнее, чем без нее? - C++
Почему, к примеру вычисление числа Фибоначчи с помощью рекурсии, когда #include&lt;iostream&gt; using namespace std; int fuc(int); int...

Составить программу вычисления матрицы по формуле, и подсчитать для нее определенные значения. - C++
Задание Необходимо составить программу, которая 1)По формуле указанной в пункте «а» задания, используя значения номеров строк и...

Опр длинну строк без исп strlen - C++
Проблема в том что нету признака конца строк в массиве MS оно ищет \0 но его нету там как его занести или может реализовать как-нибудь по...

Можно ли на С++ как-то свернуть стек для выхода из рекурсии, а не последовательно выходить из нее? - C++
Вот такой пример кода: QuickSort::QuickSort(void) { deeps = 0; needsShuffl = false; } QuickSort::~QuickSort(void) {

Составить программу для кодирования некоторого текста до 50 символов, заменяя каждую букву на пятую после нее букву из а - C++
Составить программу для кодирования некоторого текста до 50 символов, заменяя каждую букву на пятую после нее букву из алфавита. Алфавит...

4
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
18.02.2013, 17:55 #2
C++
1
2
3
4
5
6
7
8
9
double f(int n)
{
    if (n==1) return 1;
    else
    
        
        return sqrt(f(n-1)+sqrt(1.0*n));
    
}
Добавлено через 1 час 52 минуты
ошибочка вышла
C++
1
2
3
4
5
6
7
8
9
10
double f(int n)
{
    static int count = 0;
    ++count;
    if (n==1)
        return sqrt(1.0*count);
    else {      
        return sqrt(count + f(n - 1));      
    }    
}
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
18.02.2013, 18:01 #3
SummerRain, а что будет, если вашу функцию вызвать больше одного раза?
0
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
18.02.2013, 18:27 #4
Цитата Сообщение от SeregaC++ Посмотреть сообщение
SummerRain, а что будет, если вашу функцию вызвать больше одного раза?
Я об этом тоже думал, но в условии этого не требуется. И, конечно, это легко поправить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double f(int n)
{
    static int count = 0;
    ++count;
    if (n==1) {
        double buf = sqrt(1.0*count);
        count = 0;
        return buf;
    }
    else {      
        return sqrt(count + f(n - 1));      
    }    
}
1
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
18.02.2013, 18:36  [ТС] #5
SummerRain, спасибо) функция вызывается единожды, поэтому прокатит и так
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2013, 18:36
Привет! Вот еще темы с ответами:

О 8 ферзях(Без рекурсии) - C++
Пытаюсь сделать задачу о 8 ферзях без рекурсии. Сделал набросок, но работает как то криво. В чем проблема? #include &lt;stdlib.h&gt; ...

Рекурсия без рекурсии - C++
Как известно с рекурсией связана маленькая скорость и проблема переполнения стека. Ее можно сымитировать с помощью обычного стека. ...

Как составить программу учета без использования базы данных? - C++
Пожалуйста помогите новичку. Надо составить программу без использование базы данных. Имеются сведения о парке компьютеров. Каждый...

Функция Аккермана без рекурсии - C++
Задача: A(0, n) = n + 1; A(m, 0) = A(m–1, 1); при m &gt; 0; A(m, n) = A(m–1, A(m, n–1)); при m &gt; 0 и n &gt; 0. С рекурсией она...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
18.02.2013, 18:36
Ответ Создать тему
Опции темы

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