[Python-es] Duda con función M.c.d.

Carlos Agulló Calvo cm.agullo en gmail.com
Mar Dic 18 11:19:27 CET 2012


Disculpad, pero sigo sin entenderlo.
Si pongo MCD(48,36) sería:
36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de cero la respuesta
sería MCD(36,1)
Entonces pasaríamos a evaluar MCD(36,1) que sería:
1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta sería 36, si no sería
MCD(1,36)
Ahora, MCD (1,36) sería:
36 and MCD(36,0) or 1

Según mi razonamiento nunca llegaría a 12, que es la solución que debería
dar, por lo que mi razonamiento falla, pero no veo dónde.

Gracias




El 18 de diciembre de 2012 03:09, xiao xiong mao panda rojo <
ailurus.fulgens en hotmail.com> escribió:

>
> wau no sabia que se podía usar AND y OR de ese modo
> dicen k iterar es humano y la recursividad divina
> nunca entendí bien como usarla
> creo k debo comenzar XD
> ------------------------------
> From: cm.agullo en gmail.com
> Date: Mon, 17 Dec 2012 18:13:00 +0100
> To: python-es en python.org
> Subject: [Python-es] Duda con función M.c.d.
>
>
> Buenas tardes,
>
> practicando un poco python en la página de projecteuler he visto la
> siguiente función:
>
> def Mcd(a,b): return b and Mcd(b, a % b) or a
>
> pero no entiendo cómo funciona, ¿alguien podría explicármelo?
> Muchas gracias por adelantado
>
> _______________________________________________ Python-es mailing list
> Python-es en python.org http://mail.python.org/mailman/listinfo/python-esFAQ:
> http://python-es-faq.wikidot.com/
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20121218/07761e2a/attachment.html>


Más información sobre la lista de distribución Python-es