Tienes que llevar la ejecución del programa paso a paso en cada
iteración, crear un modelo o algo que te permita ver la logica y
ejecución de una forma en la que puedas entenderlo mejor.
Aquí te dejo un ejemplo:
MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a
A B Condición MCD(B, A%B)
36 48 se cumple MCD(48, 36%48)
48 (36%48)=36 se cumple MCD(36, 48%36)
36 (48%36)=12 se cumple MCD(12, 36%12)
12 (36%12)=0 no se cumple retorna A=12
El 18 de diciembre de 2012 05:51, Carlos Agulló Calvo
<[email protected] <mailto:[email protected]>> escribió:
Acabo de ver que es % no / así que sería 12, perdonad.
pero si intento hacer MCD(36,48) sí que no lo veo
El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo
<[email protected] <mailto:[email protected]>> escribió:
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]
<mailto:[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] <mailto:[email protected]>
Date: Mon, 17 Dec 2012 18:13:00 +0100
To: [email protected] <mailto:[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]
<mailto:[email protected]>
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
[email protected] <mailto:[email protected]>
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
[email protected] <mailto:[email protected]>
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
[email protected] <mailto:[email protected]>
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/