me gustaria q me revisaran esta funcion recursiva y m dijeran si esta bien

Iniciado por eduardo17445, 1 Noviembre 2012, 21:38 PM

0 Miembros y 1 Visitante están viendo este tema.

eduardo17445



.- Realice una función recursiva que calcule el cuadrado de un número N.


#include <iostream>
using namespace std;
int (funcion_recursiva_potencia2(int x,int n));
{
   int numero;
   if (n==0)
      return 1;
      
   else
return x*potencia2(x, n-1);

               
         for (i=1;i<n;i++)
            potencia=potencia*numero;
            if((x!=0)&&n>0))
            n=potencia(x,n)
            cout<<"potencia="<<n;
           return 0;
}

ecfisa

Hola.

Una función recursiva se llama a si misma por su nombre y si la funcion es "funcion_recursiva_potencia2"[1], no se puede invocar como "potencia2"[2]:

int (funcion_recursiva_potencia2(int x,int n)); [1]
{
  int numero;
  if (n==0)
     return 1;
  else
    return x*potencia2(x, n-1); [2]
}

Es inncecesario encerrar entre paréntesis a la función, así también como la variable local "numero".

Entonces sería:

int potencia(int x,int n) {
 if (n==0)
   return 1;
 else
   return x * potencia(x, n-1);
}


Saludos.


ecfisa

Error, mensaje duplicado.

Solicito por favor a algun moderador que tenga la amabilidad de borrarlo.

Saludos.

eduardo17445


Realice una función recursiva que calcule el producto de un número N.

#include <iostream>
using namespace std;
int funcion_producto,(x,n);
{

           if (n==0)
         {
                return n;
           else
               return n*producto(n);
         }
         }

ecfisa


eduardo17445

--------------------------------------------------------------------------------
algo asi  return n+producto;
for(i=1;i<producto;i++)
{
producto=producto+n;
cout<<"producto"<<producto;