Clase recursión introductorio
Video de la sesión:
Función factorial


Código en C++
#include <bits/stdc++.h>
using namespace std;
int f(int n) {
if(n == 0) {
return 1;
}
else {
return n * f(n - 1);
}
}
int main() {
int n, res;
cin >> n;
res = f(n);
cout << res;
return 0;
}
Función Fibonacci


Código en C++
#include <bits/stdc++.h>
using namespace std;
int fib(int n) {
if(n == 0 || n == 1) {
return 1;
}
else {
return fib(n - 1) + fib(n - 2);
}
}
int main() {
int n, res;
cin >> n;
res = fib(n);
cout << res;
return 0;
}
Exponenciación rápida usando recursión
El siguiente algoritmo es la implementación de exponenciación utilizando la técnica "Divide y vencerás". Representa la función de elevar un número a
a la potencia n
.

Código en C++
#include <bits/stdc++.h>
using namespace std;
int fast_pow(int a, int n) {// Modela la operacion a elevado a la potencia n
if(n == 1) {
return a;
}
else if(n % 2 == 0) {
int res;
res = fast_pow(a, n/2);
return res * res;
}
else {
return a * fast_pow(a, n - 1);
}
}
int main() {
int x, n;
cin >> x >> n;
cout << fast_pow(x, n);
return 0;
}
Last updated