Translate

martes, 8 de enero de 2013

Funciones diversas en C.

//Funcion para calcular el MOD (Residuo)
int mod (int a, int b)
{

 if (a>0 && b>0 && a>b)
 {
   int z;
   z= (a-((a/b)*b));
   return z;
}

if (a>0 && b>0 && aa)
 {
   return a;
}
if (a<0 a="a" amp="amp" b="b">b)
 {
   return a;
}


 if (a<0 a="a" amp="amp" b="b" br="br"> {
   int z;
   a=a*(-1);
   b=b*(-1);
   z= (a-((a/b)*b))*(-1);
   return z;
}

 if (a>0 && b<0 br="br"> {
   int z;
   b=(b*-1);
   z=((a-((a/b)*b))-b);
   return z;
}

if (a<0 amp="amp" b="b">0)
 {
   int z;
   a=(a*-1);
   z=(b-(a-((a/b)*b)));
   return z;
   }
}
//Funcion maximo comun divisor recursividad
int mcd(int a,int b)
{
if(b==0)
return a;
else
return mcd(b,a%b);
}
//Funcion recursiva para sumar los 10 primeros numeros
int suma(int n) andres pico
{
    if(n==0)
        return 0;
    else
        return n+suma(n-1);
}
//Funcion recursiva para elevar un numero a un exponente
int exp(int b,int e)
{
    if(e==0)
        return 1;
    else
        return b*exp(b,e-1);
}

//Funcion para calcular el numero fibonacci
int fibo(int n)
{
if ((n==0)||(n==1))
return n;
else
return fibo(n-1)+fibo(n-2);


//FUNCION PARA MULTIPLICAR DOS NUMEROS
int multiplicar(int n,int b)
{
if(b==0)
return 0;
else
return multiplicar(n,b-1)+n;
}

//Funcion de los factores primos
int factores_primos(int n,int b)
{
    if (n==1)
        return 1;
    else
        {
            if(n%b==0)
                return b+factores_primos((n/b),b);
            if(n%b!=0)
                factores_primos(n,b+1);
    }
}

//Funcion para invertir un numero
int inverso(int num)
{
    if (num < 10)
        return num;
    else
    return mod(num,10) * exp(10, digitos(num) - 1) + inverso(num / 10);
}

//Funcion para contar los digitos
int digitos(int num) 
{
    if (num < 10)
        return 1;
    return 1 + digitos(num/10);
}

No hay comentarios: