[Python-es] Duda con función M.c.d.
Carlos Agulló Calvo
cm.agullo en gmail.com
Mar Dic 18 18:26:39 CET 2012
lo saqué de aquí:
http://www.s-anand.net/euler.html
del problema 5.
yo he cambiado gcd por Mcd únicamente.
El 18 de diciembre de 2012 18:03, gerardo Juarez <
gerardojuarez en buyteknet.info> escribió:
> La verdad es que esa línea debería haber estado comentada. Si una línea de
> código suscita tantas dudas y comentarios, quiere decir que su función no
> está para nada clara. Inclusive su nombre no está claro: es mínimo común
> denominador? Quién escribió eso?
>
> saludos
> Gerardo
>
> Elio Rincón wrote:
>
>> http://www.pythontutor.com/**visualize.html#code=def+Mcd(a,**
>> b)%3A+return+b+and+Mcd(b,+a+%**25+b)+or+a%0A%0AMcd(36,+48)&**
>> mode=display&cumulative=false&**py=2&curInstr=6<http://www.pythontutor.com/visualize.html#code=def+Mcd(a,b)%3A+return+b+and+Mcd(b,+a+%25+b)+or+a%0A%0AMcd(36,+48)&mode=display&cumulative=false&py=2&curInstr=6><
>> http://www.pythontutor.com/**visualize.html#code=def+Mcd%**
>> 28a,b%29%3A+return+b+and+Mcd%**28b,+a+%25+b%29+or+a%0A%0AMcd%**
>> 2836,+48%29&mode=display&**cumulative=false&py=2&**curInstr=6<http://www.pythontutor.com/visualize.html#code=def+Mcd%28a,b%29%3A+return+b+and+Mcd%28b,+a+%25+b%29+or+a%0A%0AMcd%2836,+48%29&mode=display&cumulative=false&py=2&curInstr=6>
>> >
>>
>> Gracias por el dato, Muy bueno.
>>
>>
>> El 18 de diciembre de 2012 07:15, Marcos Sánchez Provencio <
>> rapto en arrakis.es <mailto:rapto en arrakis.es>> escribió:
>>
>>
>> Recomiendo http://www.pythontutor.com/**visualize.html#<http://www.pythontutor.com/visualize.html#>para este
>> tipo de enjuagues
>>
>> El 18/12/12 12:31, Elio Rincón 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
>>> <cm.agullo en gmail.com <mailto:cm.agullo en gmail.com>> 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
>>> <cm.agullo en gmail.com <mailto:cm.agullo en gmail.com>> 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 <ailurus.fulgens en hotmail.com
>>> <mailto:ailurus.fulgens@**hotmail.com<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 <mailto:cm.agullo en gmail.com>
>>>
>>> Date: Mon, 17 Dec 2012 18:13:00 +0100
>>> To: python-es en python.org <mailto: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
>>> <mailto:Python-es en python.org>
>>>
>>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>>
>>> ______________________________**_________________
>>> Python-es mailing list
>>> Python-es en python.org <mailto:Python-es en python.org>
>>>
>>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>>
>>>
>>>
>>>
>>> ______________________________**_________________
>>> Python-es mailing list
>>> Python-es en python.org <mailto:Python-es en python.org>
>>>
>>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>>
>>>
>>>
>>>
>>> ______________________________**_________________
>>> Python-es mailing list
>>> Python-es en python.org <mailto:Python-es en python.org>
>>>
>>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>>
>>>
>>
>>
>> ______________________________**_________________
>> Python-es mailing list
>> Python-es en python.org <mailto:Python-es en python.org>
>>
>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>
>>
>> ------------------------------**------------------------------**
>> ------------
>>
>>
>> ______________________________**_________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>
>>
>
> ______________________________**_________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
> FAQ: http://python-es-faq.wikidot.**com/<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/2d91ab8e/attachment.html>
Más información sobre la lista de distribución Python-es