Python... y Ruby.... simplemente Cooool!!!!

Hola entre las curiosidades en la programación con C++ nunca se han preguntado como obtener el factorial de 500! :s , pués yo si, y la verdad en un simple código normal aplicando ciclos for o while o con los quieran hacer no ce puede tienes limitantes una d ellas es el tamaño de la variable de tipo int o unsigned int o cual ti quieras de las 2 no alcanza el manaño:

Si hacemos recursividad en C++ no sale solo regresa un cero ejemplo:
#include
int Factorial(int);

main()
{
int n=0,n2=0;
printf("Inserte el numero: ");
scanf("%d",&n);

n2=Factorial(n);

printf("%d\n",n2);
return 0;
}

int Factorial( int n )
{
if(n==0) return(1);
return(n*Factorial(n-1));
}

Bien pero descubir gracias a la ayuda de mi cuate Omix (PO para la bana linuxcera) que haciendo una función en Phyton o Ruby talvez se podria resolver y efectivamente si lo resolvio dicha función solo pondre el código de Python Ok manos a la obra:


>>> def fact(n):
... if n==0:
... return 1
... else:
... return n*fact(n-1)
... print fact
...
>>> fact(5)
120
>>> fact(500)
12201368259911100687012387854230469262535743428031928421924135883
858453731538819976054964475022032818630136164771482035841633787220
781772004807852051593292854779075719393306037729608590862704291745
478824249127263443056701732707694610628023104526442188787894657547
7714986349436778103764427403382736539747138647787849543848959553753
7990423241061271326984327745715546309977202781014561081188373709531
0163563244329870295638966289116589747695720879269288712817800702651
7450776841071962439039432253642260523494585012991857150124870696156
8141625359056693423813008856249246891564126775654481886506593847951
7753608940057452389403357984763639449053130623237490664450488246650
7594673586207463792518420045936969298102226397195259719094521782333
1756934581508552332820762820023402626907898342451712006207714640979
45611612762914595123722991334016955236385094288559201872743379517301
45863575708283557801587354327688886801203998823847021514676054454076
635359841744304801289383138968816394874696588175045069263653381750554
781286400000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000L

Y este el es pequeño numerito q siempre andube buscando q fácil con Python2.4 jajajaja Grax por leerme....Un saludo a los linuxcero...

Comentarios

Entradas populares