Beruflich Dokumente
Kultur Dokumente
#include <iostream>
#include<conio.h>
using namespace std;
int AckermanR(int n,int m)
{
if (!n)
return (m+1);
else if (!m)
return (AckermanR(n-1, 1));
else
return (AckermanR(n-1, AckermanR(n,m-1)));
}
int main()
{
int m, n;
cout<<"Ingresa el valor de m: ";
cin>>m;
cout<<"Ingresa el valor de n: ";
cin>>n;
cout<<"Ackerman("<<m<<","<<n<<") = "<<AckermanR(n,m)<<endl;
cout<<"_____________________________";
getch();
return(0);
}
Recursividad en c++ de Factorial de un número
#include <iostream>
#include <conio.h>
int main()
{int x;
cout<<"escribe un numero";
cin>>x;
for(int t=1;t<=x;t++)
{
cout<<nFibonacci(t)<<endl;
}
system("pause");
return 0;
getch();
}
int nFibonacci(int n)
{
if(n==0) return 0;
else
if(n==1) return 1;
else return (nFibonacci(n-2)+nFibonacci(n-1));
}
Recursividad en c++ de Inversión de un número
#include<iostream>
#include<windows.h>
int main(){
double i;
int e;
cout<<"Ingrese un numero : ";cin>>i;
cout<<"El numero invertido es = ";
recur(i);
cout<<endl;
system("pause");
return 0;
}
cout<<i*10;
i=e;
if(i!=0)recur(i);
}
Recursividad en c++ de Máximo Común Divisor
#include <iostream.h>
#include<conio.h>
int mcd (int m, int n)
{
if (m % n == 0) return n;
else return (mcd(n, m % n));
}
int main(){
int a,b,res;
cout<<"excriba dos numeros";
cin>>a>>b;
res=mcd(a,b);
cout<<res;
getch();
}
#include <iostream>
#include <iostream.h>
#include<conio.h>
float potencia(float base, int exp);
int main()
{
float base, exp;
float res;
cout << "Introduce la base de la potencia\n";
cin >> base;
cout << "Expontente:\n";
cin >> exp;
res=potencia(base,exp);
cout << "La potencia de " << base << " ^ " << exp << " es " << res;
getch();
return 1;
}
float potencia(float base, int exp)
{
float res;
if (exp == 0)
res=1.0;
else if (exp > 0)
{
#include<iostream>
#include<windows.h>
using namespace std;
int max(int n,int a[0]);
int suma(int num1, int num2);
int main(){
int a[10];
int may;
float prom;
int i;
int total = 0;
int j=9;
cout<<"ingrese numeros";
for ( i = 0; i <j; i++ ) {
cin>>a[i];
total = suma(total, a[ i ]);
may=max(j,a);
}
prom=(total*1.0)/9;
cout<<"El total de los elementos del arreglo es "<< total <<endl;
cout<<"El maximo de los elementos del arreglo es "<< may <<endl;
cout<<"El promedio de los elementos del arreglo es "<<prom<<endl;
system("PAUSE");
return 0;
}
}
Recursividad indirecta
if (n == 0) return 1;
return impar(n-1);
if(n == 0) return 0;
return par(n-1);
Recursión lineal
var r: entero;
opción
n=m : r := n;
fopción
devuelve r
ffuncion
{n myor o igual 0}
var r, v :entero ;
opción
n = 0 : r := 1;
r := v * n;
fopción
devuelve r
ffunción
{FACT(n) = n + !}
Recursión multiple
{N mayor o igual 0}
var r :entero ;
opción
n1 : r := n;
fopción
deculve r
ffunción