Para entretenerse un poco

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Para entretenerse un poco

Español (Spanish) mailing list
Mirá Edgar, me apuntaron esta página: https://projecteuler.net con
algoritmos varios para resolver y entrenar un poco :)

El primero es bastante fácil: https://projecteuler.net/problem=1

En Javascript podría ser así:

var total = 0;

for (i = 0; i < 1000; i++) {

if ((i % 3) == 0 || (i % 5) == 0) {
      total = total + i;
    }

}
console.log(total);

Qué se diviertan! :)
Reply | Threaded
Open this post in threaded view
|

Re: Para entretenerse un poco

Español (Spanish) mailing list
O en Smalltalk:

a := 1000//3.
b := 1000//5.
c := 1000//15.
(a*(a+1)/2*3) + (b*(b+1)/2*5) -  (c*(c+1)/2*15)

Usando la idea que Gauss descubrió cuando tenía 6 años... :)

Abrazo,
Juan Vuletich

Quoting "Germán Arduino [hidden email] [squeakRos]"  
<[hidden email]>:

> Mirá Edgar, me apuntaron esta página: https://projecteuler.net con
> algoritmos varios para resolver y entrenar un poco :)
>
> El primero es bastante fácil: https://projecteuler.net/problem=1
>
> En Javascript podría ser así:
>
> var total = 0;
>
> for (i = 0; i < 1000; i++) {
>
> if ((i % 3) == 0 || (i % 5) == 0) {
>       total = total + i;
>     }
>
> }
> console.log(total);
>
> Qué se diviertan! :)



Reply | Threaded
Open this post in threaded view
|

Re: Para entretenerse un poco [Archivos adjuntos 2]

Español (Spanish) mailing list
JavaScript es, por el momento, un mal necesario.

Yo uso lo que encuentro hecho y funcionando en GitHub.

No es necesario que lo entienda , así como para ver un partido de fútbol por televisión no se necesita saber hacer televisores.
Se va y se compra el que mas nos guste y convenga.

Yo lamento ser viejo para Cuis, que como digo a todos quienes encuentro en la web y en la calle,es el mejor Smalltalk posible.

Yo tengo mi propia idea, Por suerte molestando un poco en la lista de Cuis logré que alguien que sabe mucho de OMeta y Juan , pusieran OMeta en Cuis.

En realidad yo quería XStreams..

Ahora estoy viendo/estudiando SOUL (Smalltalk Open Unification Language)




A ver si alguno se prende y lo tenemos en Cuis

Abrazo.

Edgar

> On Jun 30, 2015, at 6:59 AM, 'J. Vuletich (mail lists)' [hidden email] [squeakRos] <[hidden email]> wrote:
>
> O en Smalltalk:
>
> a := 1000//3.
> b := 1000//5.
> c := 1000//15.
> (a*(a+1)/2*3) + (b*(b+1)/2*5) - (c*(c+1)/2*15)
>
> Usando la idea que Gauss descubri�ó cuando ten�ía 6 a�ños... :)
>
> Abrazo,
> Juan Vuletich
>
> Quoting "Germ�án Arduino [hidden email] [squeakRos]"
> <[hidden email]>:
>
> > Mir�á Edgar, me apuntaron esta p�ágina: https://projecteuler.net con
> > algoritmos varios para resolver y entrenar un poco :)
> >
> > El primero es bastante f�ácil: https://projecteuler.net/problem=1
> >
> > En Javascript podr�ía ser as�í:
> >
> > var total = 0;
> >
> > for (i = 0; i < 1000; i++) {
> >
> > if ((i % 3) == 0 || (i % 5) == 0) {
> > total = total + i;
> > }
> >
> > }
> > console.log(total);
> >
> > Qu�é se diviertan! :)
>
>


Soul.0.jpg (201K) Download Attachment
Soul.1.jpg (191K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Para entretenerse un poco

Español (Spanish) mailing list
In reply to this post by Español (Spanish) mailing list
ahh, excelente, esa no se me había ocurrido!!! Y en verdad ni la tenía en
mente. Gracias!



El 30 de junio de 2015, 6:59, 'J. Vuletich (mail lists)'
[hidden email] [squeakRos] <[hidden email]> escribió:

>
>
> O en Smalltalk:
>
> a := 1000//3.
> b := 1000//5.
> c := 1000//15.
> (a*(a+1)/2*3) + (b*(b+1)/2*5) - (c*(c+1)/2*15)
>
> Usando la idea que Gauss descubri€ ¢Ã³ cuando ten€ ¢Ã­a 6 a€ ¢Ã±os... :)
>
> Abrazo,
> Juan Vuletich
>
> Quoting "Germ€ ¢Ã¡n Arduino [hidden email] [squeakRos]"
> <[hidden email]>:
>
> > Mir€ ¢Ã¡ Edgar, me apuntaron esta p€ ¢Ã¡gina: https://projecteuler.net
> con
> > algoritmos varios para resolver y entrenar un poco :)
> >
> > El primero es bastante f€ ¢Ã¡cil: https://projecteuler.net/problem=1
> >
> > En Javascript podr€ ¢Ã­a ser as€ ¢Ã­:
> >
> > var total = 0;
> >
> > for (i = 0; i < 1000; i++) {
> >
> > if ((i % 3) == 0 || (i % 5) == 0) {
> > total = total + i;
> > }
> >
> > }
> > console.log(total);
> >
> > Qu€ ¢Ã© se diviertan! :)
>
>  
>



--
Saludos / Regards,
Germán Arduino
www.arduinosoftware.com
Reply | Threaded
Open this post in threaded view
|

Re: Para entretenerse un poco

Español (Spanish) mailing list
mmmm y xq dan distinto resultado.....?

Algo así en Smalltalk

total := 0.
i := 0.
[i < 1000] whileTrue: [

    i \\ 3 = 0 ifTrue: [total := total + i]
             ifFalse: [i \\ 5 = 0 ifTrue: [total := total + i]].
    i := i + 1.

    ].

Transcript show: total.

da 233168, al igual que lo que hice en javascript.

Pero tu implementación da 234168 ....

El 30 de junio de 2015, 7:41, Germán Arduino <[hidden email]> escribió:

> ahh, excelente, esa no se me había ocurrido!!! Y en verdad ni la tenía en
> mente. Gracias!
>
>
>
> El 30 de junio de 2015, 6:59, 'J. Vuletich (mail lists)'
> [hidden email] [squeakRos] <[hidden email]>
> escribió:
>
>>
>>
>> O en Smalltalk:
>>
>> a := 1000//3.
>> b := 1000//5.
>> c := 1000//15.
>> (a*(a+1)/2*3) + (b*(b+1)/2*5) - (c*(c+1)/2*15)
>>
>> Usando la idea que Gauss descubri€ ¢Ã³ cuando ten€ ¢Ã­a 6 a€ ¢Ã±os... :)
>>
>> Abrazo,
>> Juan Vuletich
>>
>> Quoting "Germ€ ¢Ã¡n Arduino [hidden email] [squeakRos]"
>> <[hidden email]>:
>>
>> > Mir€ ¢Ã¡ Edgar, me apuntaron esta p€ ¢Ã¡gina: https://projecteuler.net
>> con
>> > algoritmos varios para resolver y entrenar un poco :)
>> >
>> > El primero es bastante f€ ¢Ã¡cil: https://projecteuler.net/problem=1
>> >
>> > En Javascript podr€ ¢Ã­a ser as€ ¢Ã­:
>> >
>> > var total = 0;
>> >
>> > for (i = 0; i < 1000; i++) {
>> >
>> > if ((i % 3) == 0 || (i % 5) == 0) {
>> > total = total + i;
>> > }
>> >
>> > }
>> > console.log(total);
>> >
>> > Qu€ ¢Ã© se diviertan! :)
>>
>>  
>>
>
>
>
> --
> Saludos / Regards,
> Germán Arduino
> www.arduinosoftware.com
>
>


--
Saludos / Regards,
Germán Arduino
www.arduinosoftware.com
Reply | Threaded
Open this post in threaded view
|

Re: Para entretenerse un poco

Español (Spanish) mailing list
Porque lei mal. Dice "below 1000" no "up to 1000". Seria:

a := 999//3.
b := 999//5.
c := 999//15.
(a*(a+1)/2*3) + (b*(b+1)/2*5) - (c*(c+1)/2*15)

Le estaba sumando el 1000...

:)

La alternativa seria asi, no?

((1 to: 999) select: [ :i | i\\3 = 0 or: [ i\\5 = 0]]) sum

Quoting "Germán Arduino [hidden email] [squeakRos]"  
<[hidden email]>:

> mmmm y xq dan distinto resultado.....?
>
> Algo así en Smalltalk
>
> total := 0.
> i := 0.
> [i < 1000] whileTrue: [
>
>     i \\ 3 = 0 ifTrue: [total := total + i]
>              ifFalse: [i \\ 5 = 0 ifTrue: [total := total + i]].
>     i := i + 1.
>
>     ].
>
> Transcript show: total.
>
> da 233168, al igual que lo que hice en javascript.
>
> Pero tu implementación da 234168 ....
>
> El 30 de junio de 2015, 7:41, Germán Arduino <[hidden email]> escribió:
>
>> ahh, excelente, esa no se me había ocurrido!!! Y en verdad ni la tenía en
>> mente. Gracias!
>>
>>
>>
>> El 30 de junio de 2015, 6:59, 'J. Vuletich (mail lists)'
>> [hidden email] [squeakRos] <[hidden email]>
>> escribió:
>>
>>>
>>>
>>> O en Smalltalk:
>>>
>>> a := 1000//3.
>>> b := 1000//5.
>>> c := 1000//15.
>>> (a*(a+1)/2*3) + (b*(b+1)/2*5) - (c*(c+1)/2*15)
>>>
>>> Usando la idea que Gauss descubri€ ¢Ã³ cuando ten€ ¢Ã­a 6 a€ ¢Ã±os... :)
>>>
>>> Abrazo,
>>> Juan Vuletich
>>>
>>> Quoting "Germ€ ¢Ã¡n Arduino [hidden email] [squeakRos]"
>>> <[hidden email]>:
>>>
>>> > Mir€ ¢Ã¡ Edgar, me apuntaron esta p€ ¢Ã¡gina: https://projecteuler.net
>>> con
>>> > algoritmos varios para resolver y entrenar un poco :)
>>> >
>>> > El primero es bastante f€ ¢Ã¡cil: https://projecteuler.net/problem=1
>>> >
>>> > En Javascript podr€ ¢Ã­a ser as€ ¢Ã­:
>>> >
>>> > var total = 0;
>>> >
>>> > for (i = 0; i < 1000; i++) {
>>> >
>>> > if ((i % 3) == 0 || (i % 5) == 0) {
>>> > total = total + i;
>>> > }
>>> >
>>> > }
>>> > console.log(total);
>>> >
>>> > Qu€ ¢Ã© se diviertan! :)
>>>
>>>
>>>
>>
>>
>>
>> --
>> Saludos / Regards,
>> Germán Arduino
>> www.arduinosoftware.com
>>
>>
>
>
> --
> Saludos / Regards,
> Germán Arduino
> www.arduinosoftware.com



Reply | Threaded
Open this post in threaded view
|

Re: Para entretenerse un poco

Español (Spanish) mailing list
In reply to this post by Español (Spanish) mailing list
Algunas cosas que fui viendo, principalmente en clojure
https://delicious.com/ajlopez/projecteuler

2015-06-29 17:53 GMT-03:00 Germán Arduino [hidden email] [squeakRos] <
[hidden email]>:

>
>
> Mir€ ¢Ã¡ Edgar, me apuntaron esta p€ ¢Ã¡gina:€ ¢Â https://projecteuler.net
> con algoritmos varios para resolver y entrenar un poco :)
>
> El primero es bastante f€ ¢Ã¡cil:€ ¢Â https://projecteuler.net/problem=1
>
> En Javascript podr€ ¢Ã­a ser as€ ¢Ã­:
>
> var total = 0;
>
> for (i = 0; i < 1000; i++) {€ ¢Â
>
> if ((i % 3) == 0 || (i % 5) == 0) {
> € ¢Â  € ¢Â  € ¢Â  total = total + i;
> € ¢Â  € ¢Â  } € ¢Â
>
> }
> console.log(total);
>
> Qu€ ¢Ã© se diviertan! :)
>
>
>
>  
>
Reply | Threaded
Open this post in threaded view
|

Re: Para entretenerse un poco

Español (Spanish) mailing list
El 30 de junio de 2015, 11:17, Angel Java Lopez [hidden email]
[squeakRos] <[hidden email]> escribió:

>
>
> Algunas cosas que fui viendo, principalmente en clojure
> https://delicious.com/ajlopez/projecteuler
>
>
Gracias!

(Yahoo o la configuración de este grupo ya me cansan con los problemas de
caracteres y las porquerías que mete en cada mail).
Reply | Threaded
Open this post in threaded view
|

Re: Para entretenerse un poco

Español (Spanish) mailing list
In reply to this post by Español (Spanish) mailing list
ahh, ok ! Como dije antes, la de Gauss no la tengo en mente, tengo que
repasar..... :S

Y la otra si, definitivamente, es más "smalltalk".