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/

Responder a