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

Рекурсивное вычисление - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
tanderstorm1
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 11
17.02.2010, 18:49     Рекурсивное вычисление #1
Доброе время суток!!! Помогите пожалуйста решить две задачи с помощью рекурсии. За ранее огромное спасибо!!!
Задача №1.
Написать функцию, которая рекурсивно вычисляет сумму чисел в заданном диапазоне.

Задача №2.
Легенда гласит, что где-то в Ханое находится храм, в котором размещена следующая конструкция: на основании укреплены 3 алмазных стержня, на один из которых при сотворении мира Брахма нанизал 64 золотых диска с отверстием посередине, причем внизу оказался самый большой диск, на нем – чуть меньший и так далее, пока на верхушке пирамиды не оказался самый маленький диск. Жрецы храма обязаны перекладывать диски по следующим правилам:
1. За один ход можно перенести только один диск.
2. Нельзя класть больший диск на меньший.
Руководствуясь этими нехитрыми правилами, жрецы должны перенести исходную пирамиду с 1-го стержня на 3-й. Как только они справятся с этим заданием, наступит конец света.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2010, 18:49     Рекурсивное вычисление
Посмотрите здесь:

Рекурсивное вычисление НОК C++
C++ Рекурсивное вычисление суммы.
Рекурсивное вычисление корня k-й степени C++
C++ Рекурсивное сложение
Рекурсивное и нерекурсивное вычисление функции C++
C++ Рекурсивное вычисление значения функции
C++ Рекурсивное вычисление. Найти среднее арифметическое по двум частям массива
C++ Рекурсивное вычисление цепной дроби

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ccoder
 Аватар для ccoder
8 / 8 / 3
Регистрация: 05.02.2010
Сообщений: 41
17.02.2010, 18:54     Рекурсивное вычисление #2
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
32
33
// Ханойские башни
#include <iostream>
 
using namespace std;
 
void hanoi_towers(int quantity, int from, int to, int buf_peg)  //quantity-число колец, from-начальное положение колец(1-3),to-конечное положение колец(1-3)
{                               //buf_peg - промежуточный колышек(1-3)
    if (quantity != 0)
    {
        hanoi_towers(quantity-1, from, buf_peg, to);
 
        cout << from << " -> " << to << endl;
 
        hanoi_towers(quantity-1, buf_peg, to, from);
    }
}
 
int main()
{
        setlocale(LC_ALL,"rus");
    int start_peg, destination_peg, buffer_peg, plate_quantity;
    cout << "Номер первого столбика:" << endl;
    cin  >> start_peg;
    cout << "Номер конечного столбика:" << endl;
    cin  >> destination_peg;
    cout << "Номер промежуточного столбика:" << endl;
    cin  >> buffer_peg;
    cout << "Количество дисков:" << endl;
    cin  >> plate_quantity;
 
    hanoi_towers(plate_quantity, start_peg, destination_peg, buffer_peg);
return 0;
}
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.02.2010, 18:56     Рекурсивное вычисление #3
Кто ж анализаторы ручником пишет, это в наше время то.
Yandex
Объявления
17.02.2010, 18:56     Рекурсивное вычисление
Ответ Создать тему
Опции темы

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