Título: [SRC] isPrime Publicado por: Psyke1 en 22 Noviembre 2011, 20:53 pm La mejor forma que se me ocurre de hacerlo:
Código
DoEvents! :P Título: Re: [SRC] isPrime Publicado por: madpitbull_99 en 22 Noviembre 2011, 21:02 pm Mi alternativa:
Código
No hace falta poner el igual en: Código
Con esto valdría: Código
Título: Re: [SRC] isPrime Publicado por: Psyke1 en 22 Noviembre 2011, 21:05 pm Oukei, me comeré el "==" en esos casos.
Gracias. DoEvents! :P Título: Re: [SRC] isPrime Publicado por: BlackZeroX en 23 Noviembre 2011, 10:56 am Recuerda que false siempre tiene un valor de 0... y por obvias razones true es igual a -1 (complemento) o cualquier otro numero distinto a 0... pero en si true es -1 para que aplique correctamente el not...
Usando la "criba de Eratóstenes" quedaria: Código
P.D.: En este lenguaje si sirve bien el or para el if es decir "||" el or binario es solo "|"... el or de vb6 siempre se trata como binario... en java no, esa es la gran ventaja. Dulces Lunas!¡. Título: Re: [SRC] isPrime Publicado por: Psyke1 en 23 Noviembre 2011, 15:17 pm Haces prácticamente lo mismo que yo. :silbar:
¿Entonces que? ¿emigramos de el foro de vb al de java? :xD DoEvents! :P Título: Re: [SRC] isPrime Publicado por: RyogiShiki en 23 Noviembre 2011, 16:13 pm Recuerda que false siempre tiene un valor de 0... y por obvias razones true es igual a -1 (complemento) o cualquier otro numero distinto a 0... pero en si true es -1 para que aplique correctamente el not... A que te refieres con esto? Lo que dices está ligado a Java? o no tiene nada que ver? Porque si está ligado a Java entonces eso no es así. tampoco se mucho que quieres decir con esto: P.D.: En este lenguaje si sirve bien el or para el if es decir "||" el or binario es solo "|"... el or de vb6 siempre se trata como binario... en java no, esa es la gran ventaja. En Java "|" y "||" son muy diferentes usados en expresiones que retornan un valor Booleano. Tal ve te refieras a eso mismo que digo, pero no se. Saludos Título: Re: [SRC] isPrime Publicado por: Debci en 23 Noviembre 2011, 16:14 pm Muchas gracias por todos vuestros aportes :)
Saludos Título: Re: [SRC] isPrime Publicado por: тαптяα en 23 Noviembre 2011, 17:02 pm Ya viste que no es la forma más rápida.
De hecho se podría poner un ternario dentro del for en el código de madpitbull Título: Re: [SRC] isPrime Publicado por: Psyke1 en 23 Noviembre 2011, 18:11 pm @RyogiShiki
BlackZeroX me hizo incapié en eso por este bug de vb: Código: http://foro.elhacker.net/programacion_visual_basic/vb6_es_tonto-t340559.0.html Una pequeña prueba para comprobar velocidades. Código: public class Hello { Código: Delerice -> 23523055 DoEvents! :P Título: Re: [SRC] isPrime Publicado por: BlackZeroX en 23 Noviembre 2011, 20:13 pm Una pequeña prueba para comprobar velocidades. Nunca cambiaras verdad?... * Yo que tu no me procuparia mucho por la velocidad en java... por ahora. http://foro.elhacker.net/programacion_visual_basic/vb6_es_tonto-t340559.0.html Para corregir ese problema aqui se usa || en operaciones binarias se usa |, creo que no se habia entendio bien... y lo del boolean es por LOGICa y Norma general que cualquier valor Diferente de 0 es true pero en si un true Nativamente sera con valor -1 (para que aplique correctamente el operador NOT(!))... ver tabla de verdad de not (Y esto segun tengo entendido es en TODOS los lenguajes). Es lo mismo que dije arriba... Haces prácticamente lo mismo que yo. :silbar: ¿Entonces que? ¿emigramos de el foro de vb al de java? :xD * Claro que si, por el metodo de la criba es mas rapido!¡. * Ya estas!¡. Dulces Lunas1¡. Título: Re: [SRC] isPrime Publicado por: Psyke1 en 23 Noviembre 2011, 20:47 pm @BlackZeroX
El link está roto. :-\ DoEvents! :-* Título: Re: [SRC] isPrime Publicado por: RyogiShiki en 23 Noviembre 2011, 22:27 pm @BlackZeroX
Cierto. Java hace la diferenciación entre Short-circuit evaluations y ORs inclusivos dependiendo el operador que se use. Antes de decir lo siguiente Aclarar: En Java no es posible tratar valores booleanos como tipos numéricos de ninguna manera. Al igual que los datos numéricos no pueden ser tratados como resultados booleanos (if(1) o cosas opr el estilo). Por otro lado por lo que dijiste antes me puse a investigar un poco y en Java (y diversos lenguajes) es poco probable que true llegue a ser -1 (tengo entendido que en vb6 es así) pero esto es más dependiente de la JVM y por ejemplo el tamaño de un booleano no está completamente definido, puede tomar valores entre 1bit y 32bits dependiendo de la implementación de la JVM1. lo que imposibilita mapear el valor de true a -1. Ahora en el caso de los Array de booleanos espacios con true son representados con 1 y los espacios con false representados con 02. Y los compiladores o interprétes de ByteCode deben seguir el ismo patrón. Saludos 1 O'Reilly - Java In A Nutshell, Java Docs (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html) 2 Java Sun JVMs Spec Ver.2 (http://java.sun.com/docs/books/jvms/second_edition/html/Overview.doc.html#22909) Título: Re: [SRC] isPrime Publicado por: BlackZeroX en 24 Noviembre 2011, 04:13 am @RyogiShiki
No hiba a explicarte esto... pero creo que mejor lo hago... El -1 es independiente de la arquitectura... si es una de 8 bits, 32 bits, 64 bits, etc, inclusive de como este la JVM como ya mensionaste... esto lo digo por que -1 (TODOS los bits Ensendidos en una arquitectura de 32 un int -1 = 4294967295 (int de 32bits)) es el UNICO que cuando aplicas una operacion Not es es unico que satisface como complemento a 0, por ello tambien digo que es el que se toma de manera NATIVA independientemente del lenguaje o arquitectura... en si true vale cualquier valor distinto de 0 independientemente del lenguaje; pero el unico que safisface a 0 como complemento es -1 (4294967295 en un int de 32 bits) y viceversa... ahora me entiendes mejor?. @BlackZeroX Antes de decir lo siguiente Aclarar: En Java no es posible tratar valores booleanos como tipos numéricos de ninguna manera. Al igual que los datos numéricos no pueden ser tratados como resultados booleanos (if(1) o cosas opr el estilo). En eso es cierto java no permite ningun valor numerico como tipo boolean... en teoria deberia... pero la realidad del lenguaje es otra... para mi es un punto debil a mi juicio... java tiene Pros y Contras... como todo lenguaje. que extraño... Dulce sLunas!¡l. |