![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
ZayDun y Egostrar, la verdad es que tengo una conexión DialUp y ver ese video me demoraría muchísimo.
Si me pueden explicar o resumir el video sería fabuloso. Bueno... yo me estaba imaginando un algoritmo que trate de usar la menor cantidad de valores y operaciones. Por ejemplo: 1.Tomar los 2 numeros mayores. 2. Si la multiplicación entre ellos es mayor, descartar al segundo mayor. 2.1. Repetir paso 2 con el tercer numero mayor 2.2. Si no es mayor y la diferencia entre el resultado y dicha multiplicación es menor o igual a algún valor, añadir estos tres números a la lista de los numeros validos Etc... Es decir ir descartando números lo más rápido posible probando primero la multiplicación ya que se trata de la manera más rápida de obtener una cifra más elevada. Y a medida que la cifra se va acercando al valor, ir optando por otras operaciones como la suma y la resta. Obviamente que se considería la división en casos de que haya numeros superiores al resultado... Creo, y tengo entendido, que existe un algoritmo que implementa algo así. Pero desconozco su nombre. No se si sirve lo que digo y será de ayuda. ![]() ![]() Saludos, |
|
#2
|
||||
|
||||
|
Creo que lo que trata de implementar según ya se ha apuntado es algo para resolver los problemas del tipo "cifras y letras", por supuesto en lo tocante a cifras.
El problema es que conocemos todo, menos las operaciones a realizar, incluso en algunos caso el problema no tiene solución y se trata de acercarse lo más posible al número pedido. 1.- Sumar todos los números. 2.- Sumar los pares, (me refiero de la lista dada) y restarle los impares. 3.- Sumar todos menos uno, dividir por este último. 4.- Multiplicar y dividir..... Contra más combinaciones de operaciones más nos acercaremos. Al final de cualquiera de estas elucubraciones, comparamos con el número pedido, si lo encontramos, bien, sino guardamos los resultados obtenidos y las operaciones correspondientes y los ordenamos. Es una idea. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#3
|
||||
|
||||
|
¿Y qué tal probando con todas las combinaciones posibles?
Primero, con un método que te las genere todas, y después otro que las compruebe (realice las operaciones). En fin, esto ya parece más sencillo. Para generar las combinaciones, bucles for dentro de bucles for dentro de bucles for..... ¡que me buclo!. Y después, guardadas todas las posibilidades en un TStringList o similar, pues un método que recorra todos los items, y que realice las operaciones. Saludos P.D.: Si eso, intento hacerlo, y si lo logro, pues cuelgo el código. P.P.D.: ¿y si lo hacemos más interesante?.... ¡El último que lo logre es un programador en.... (¿es aquí donde hay que decir VB?)! |
|
#4
|
||||
|
||||
|
Bueno, ya tengo la primera parte, que es generar todas las combinaciones. En total salen 40.000, claro que, como contaba con la posibilidad de no necesitar todos los números, añado a la lista de números el cero, por lo que sale alguna que otra posibilidad absurda, como dividir entre cero (más de una vez). El hecho de que salga el cero una suma o una resta indica que (si al final el resultado de la operación es el buscado) no se ha utilizado todos los números para hacer el cálculo.
Colocad 4 edits (donde se pondrán los números), un botón, un memo llamado combinaciones (donde aparecen las combinaciones) y un label (que indicará cuántas combinaciones salen),y colorcar este código en el evento onClick del botón.
Ahora ya sólo falta el método que haga esas 40.000 operaciones y que compare el resultado.... |
|
#5
|
||||
|
||||
|
Bueno, mejor visto, creo que se lo voy a dejar a marcoszorrilla, que yo me tengo que hacer la cena y llevo 33 horas sin dormir.
Saludos (a ver si cuando mañana venga a ver el hilo está ya resulto ). |
|
#6
|
||||
|
||||
|
Pues yo acabo de cenar y tanta operación me puede ir mal para el estómago, mejor lo dejamos así, a ver si viene un valiente y lo resuelve y mañana por la mañana todo se verá más claro....
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#7
|
||||
|
||||
|
Sí, será lo mejor, porque mientras saboreaba unas deliciosas hamburguesas (de las buenas, no de un fast food) me he dado cuenta de un fallo de mis generador de posibilidades, y es que al mecer ese cero por ahí, puede convertir el producto de tres números en cero. Lo que tenía que haber hecho es colocar el elemento neutro de la operación a realizar (cero para la suma y la resta, uno para el producto y la división).
En fin, pues eso, a ver si algún valiente, de otra franja horaria, se anima y tal... (que yo mañana tengo clases a las ocho). Hasta mañana (y que mola eso de meter tanto bucle for). |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Algoritmo de Encriptacion | DarkByte | Varios | 22 | 08-10-2014 19:54:41 |
| Algoritmo!!! | Ledian_Fdez | C++ Builder | 7 | 18-06-2007 22:17:50 |
| Rechaza matematico ruso presea | egostar | Noticias | 2 | 24-08-2006 12:19:11 |
| Algoritmo MD5 | tbolzan | Varios | 1 | 19-10-2004 15:13:47 |
| Problema matemático | __cadetill | Humor | 11 | 31-10-2003 12:20:57 |
|