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 <
[email protected]> 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: [email protected]
> Date: Mon, 17 Dec 2012 18:13:00 +0100
> To: [email protected]
> 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
> [email protected] http://mail.python.org/mailman/listinfo/python-esFAQ:
> http://python-es-faq.wikidot.com/
>
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a