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

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

Войти
Регистрация
Восстановить пароль
 
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
#1

Вычислить рекурсивно функцию - C++

05.02.2013, 00:54. Просмотров 455. Ответов 6
Метки нет (Все метки)

Вычислить рекурсивно функцию : S(n)

1, если n=1
S(n/2), если n=2k
S((3n+1)/2),если n=2k+1
не могу понять что такое k и откуда его брать да и вообще проблемы с рекурсией
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 00:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить рекурсивно функцию (C++):

Вычислить сумму ряда с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. - C++
9. Вычислить сумму ряда (-1)в степени 3n/3n! с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. Добавлено...

Рекурсивно описать функцию C(n,m) - C++
помогите написать код программы если можно. Рекурсивно описать функцию C(n,m), где 0≤m≤n, для вычисления биномиального коэффициента...

Переписать рекурсивно итерационную функцию. - C++
Кто может записать эту итерационную функцию: double norek(double a, double b, double e){ double x; while (fabs(b - a) >= e) { ...

Вычислить y=x^N рекурсивно - C++
Вычислить y=x^N по следующему алгоритму: y=(x^(N/2))^2 , если N четное; y=x*x^(N-1) , если N нечетное. C ПОМОЩЬЮ РЕКУРСИИ. В чем ошибка? ...

Написать функцию высветляющую все указатели цикла(рекурсивно) - C++
Нужно написать рекурсивную функцию которая будет принимать два указателя(1 начало цикла, 2 элемент цикла) и выведет на консоль все...

Вычислить сумму рекурсивно - C++

6
Algiz
160 / 160 / 13
Регистрация: 23.02.2011
Сообщений: 347
05.02.2013, 00:59 #2
n=2k - n - четно
n=2k+1 - n - нечетно
1
abit
271 / 270 / 34
Регистрация: 03.02.2013
Сообщений: 754
05.02.2013, 01:02 #3
вероятнее всего подразумевается что речь идёт о целых числах и 2k говорит, что n - делится на 2, т.е. чётно, а 2k+1 что нечётно...

так же если допустить, что здесь речь идёт о сумме, а не о просто S как переменная (потому что если там не было знака суммы или чего ещё - задача тривиальна и всегда вернёт 1), если речь о сумме, то так:

C++
1
2
3
4
5
6
int myfunc(int x)
{
   if (x==1) return 1;
   else if (x%2==0) return x+myfunc(x/2);
   else return x+myfunc((3*x+1)/2);
}
1
Algiz
160 / 160 / 13
Регистрация: 23.02.2011
Сообщений: 347
05.02.2013, 01:03 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
int foo(int n){
    if (n == 1)
        return 1;
    if (n % 2 == 0)
        return foo(n / 2);
    else
        return foo((3 * n + 1) / 2);
}
 
int main(){
    int n;
    cin >> n;
    cout << foo(n);
    return 0;
}
1
abit
271 / 270 / 34
Регистрация: 03.02.2013
Сообщений: 754
05.02.2013, 01:07 #5
Цитата Сообщение от Algiz Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
int foo(int n){
    if (n == 1)
        return 1;
    if (n % 2 == 0)
        return foo(n / 2);
    else
        return foo((3 * n + 1) / 2);
}
 
int main(){
    int n;
    cin >> n;
    cout << foo(n);
    return 0;
}
ваша функция полностью аналогична
C++
1
2
3
int foo(int n){
        return 1;
}
0
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
05.02.2013, 01:15  [ТС] #6
n=2k - n - четно
n=2k+1 - n - нечетно
это понял просто запутался(( с К
спасибо всем большое
0
Algiz
160 / 160 / 13
Регистрация: 23.02.2011
Сообщений: 347
05.02.2013, 18:11 #7
abit, да, но ведь именно это и сказано в условии
0
05.02.2013, 18:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2013, 18:11
Привет! Вот еще темы с ответами:

Рекурсивно вычислить выражение - C++
Вычислить результат выражения http://s010.***********/i311/1511/4e/3f0e9412061d.jpg Зависимость а, это массив А в программе.аналогично...

По заданному X рекурсивно вычислить X^2 - C++
Написать программу, высчитывающую X^2. Х задается пользователем. Использовать рекурсию.

Рекурсивно вычислить производную експоненты - C++
Задание:рекурсивно найти n-ую производную f(x)={e}^{a{x}^{2}+bx+c} для заданого x,построив для {f}^{(n)}(x)рекурентное соотношение. ...

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


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

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

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