Tengo dos códigos, q hacen lo mismo (o es creo)
el de c++
#include<iostream>
using namespace std;
int re(int nu){
if(nu==0)
return 0;
if(nu==1)
return 1;
return 3*re(nu-1)+4*re(nu-2);
}
int main(){
cout<<re(1);
}
y el de python
def r(n):
if n==0:
return 0
if n==1:
return 1
return 3*r(n-1)+4*r(n-2)
hasta r(16) dan los mismos resultados, pero a partir de ahí cada uno dice una cosa distinta, además c++ peta en cuanto se sube de r(20) mientras que python... llega a valores superiores a r(900) :O (copón bendito)
pues bien, usando el máxima (una copia libre del mathematica) he comprobado que python es el que lleva razón, alguien sabe porque c++, un leguaje que se supone supereficiente en comparación con un leguaje como python, se equivoca(para valores altos) en cálculos matemáticos que python resuelve sin despeinarse???