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

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

Восстановить пароль Регистрация
 
Diktor1993
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 8
23.06.2013, 23:34     Вычислить рекурсивным методом #1
Добрый день! Прошу вашей помощи.

Вычислить рекурсивным методом y =x**N за следующим алгоритмом:
y=(x**N/2)**2, если N парное;
y=x*xN-1, если 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>
#include <conio.h>
#include <math.h>
 
 
int solut(float x, int n)
{
    int y;
    y = pow(x,n);
    if(n%2==0) 
    {   
        return y = solut(pow((x,n/2),2));
    }
    else
        return y = x*solut(x,(n-1));    
    }
 
void main()
{
    setlocale(0,"");
    float x;
    int n;
    printf("\nВведите x: ");
    scanf("%f", &x);
    printf("\nВведите n: ");
    scanf("%f", &n);
    printf("\nОтвет: %3.2i", solut(x,n));
    getch();
}
x**N(x в степени N)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2013, 23:34     Вычислить рекурсивным методом
Посмотрите здесь:

C++ Вычисление степени числа рекурсивным вызовом
Вычисление рекурсивным методом значение математической зависимости C++
Вычислить методом Симпсона C++
Вычислить интеграл f(x)=5x(кв.)-x+2 методом прямоугольников C++
Вычислить рекурсивным методом умножение двух целых положительных чисел p=a*b используя следующий алгоритм C++
Вычислить рекурсивным методом значение математической зависимости C++
C++ Посчитать рекурсивным методом значение математической зависимости
C++ Вычислить интеграл методом прямоугольников

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AntonChik
1083 / 581 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
24.06.2013, 08:30     Вычислить рекурсивным методом #2
вот так правильнее, может даже заработает:
C++
1
2
3
4
5
6
7
8
int solut(int x, int n)
{
if(n==0) return 1;
if(n==1) return x;
if(n==2) return x*x;
if(n%2==0) return solut( solut(x,n/2),2 );
else return x*solut(x,n-1);  
}
Yandex
Объявления
24.06.2013, 08:30     Вычислить рекурсивным методом
Ответ Создать тему
Опции темы

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