Lo envié sin querer, disculpen. 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 07:01, Elio Rincón <[email protected]>escribió: > 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] > > 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]> 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]> 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/ >> >> >
_______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
