Entrar
¿Usuario nuevo? Regístrate
uanlist · "Séya lorna, nan cuina"
? ¿Ya estás suscrito? Entrar en Yahoo!

Consejos de Yahoo! Grupos

¿Sabías que...?
Puedes determinar el orden de los mensajes. Pulsa el enlace en la columna correspondiente a la fecha. Tus preferencias serán guardadas y no tendrás que introducirlas de nuevo.

Mensajes

  Mensajes Ayuda
Avanzado
De como eligieron a Saruman jefe del concilo blanco ( Acertijo )   Lista de mensajes  
Responder | Reenviar Mensaje #1402 de 2261 |
RE: [UAN] De como eligieron a Saruman jefe del concilo blanco ( Acertijo )

Pues yo lo hice mediante fuerza bruto con un programa que me hice en c++,
ahora lo he rehecho en java.
Basicamente me sacabatodas las parejas que cumplian las dos condiciones.
Para ello eliminaba probaba todas las combinaciones posibles de numeros y
sacaba S y Pdepues:
1) descartaba las parejas cuya S o P solo se formaban de una manera.
2) descomponia S y eliminaba las parejas formadoras de S cuyo producto solo
se pudiera hacer de una manera
3) Con las parejas que que quedaran, descomponia P en sus parejas
generadoras (llamemosle conjunto GP cuya cardinalidad debia ser siempre
mayor que uno por haber pasado la condicion primera), hallaba la suma S'
para cada miembro de GP, hallaba las parejas generadoras de S' y con cada
una de esas parejas hallo P', si P' solo se puede hallar de una manera es
que la solucion no es ese miembro de GP, lo elimino de GP. si despues de
revisados todos los miembros de GP, GP me queda de cardinalidad 1, esa es
una posible solucion.

Con este algoritmo que es mas dificil de explicar que de comprender sobre un
papel me salen las parejas

1+6=7
1+809
2+7=9
4+5=9
3+8=11
4+7=11
2+11=13
4+9=13
5+8=13
6+7=13

Como solo hay una pareja que sume distinta que las demas, esa es la
solucion.

Por cierto, tu solucion es sin duda mas elegante, pero que quieres que le
haga soy informatico.

ahi va el codigo fuente que he rehecho en java pa quien lo quiera,no incluyo
la clase pareja que simplemente sirve pa contener una pareja de numeros, por
cierto, aborrezco los comentarios y la programacion clara:



package proyecto;

import java.util.Vector;

public class Problema {

public Problema(){
}
public Vector buscarParejasGeneradorasSuma(int numero){
Vector v=new Vector();
Pareja p;
for (int i=1;i<(numero-i);i++){
if (i<26&&(numero-i)<26){
p=new Pareja(i,numero-i);
v.add(p);
}
}
return v;
}
public Vector buscarParejasGeneradorasProducto(int numero){
Vector v=new Vector();
Pareja p;
for (int i=1;i<(numero/i);i++){
if (numero%i==0 && i<26&&(numero/i)<=25){
p=new Pareja(i,numero/i);
v.add(p);
}
}
return v;
}
public boolean descartarPareja(int x,int y){
int s=x+y;
int p=x*y;
Problema problema=new Problema();
Vector v1=problema.buscarParejasGeneradorasSuma(s);
Vector v2=problema.buscarParejasGeneradorasProducto(p);
if (v1.size()==1 || v2.size()==1){
return false;
}
else
return true;
}

public static void main(String[] args) {
Problema problema=new Problema();
for (int i=1;i<25;i++){
for (int j=i+1;j<26;j++){
int s=i+j;
int p=i*j;
boolean bol=problema.descartarPareja(i,j);
if (bol){
boolean bol2=true;
Vector vs=problema.buscarParejasGeneradorasSuma(s);
for(int cont=0;cont<vs.size();cont++){
Pareja pareja1=(Pareja)vs.elementAt(cont);
int p2=pareja1.x*pareja1.y;
Vector vp=problema.buscarParejasGeneradorasProducto(p2);
if (vp.size()==1)
bol2=false;
}
if (bol2){
Vector vp1=problema.buscarParejasGeneradorasProducto(p);
int tamanyo=vp1.size();
for (int cont=0;cont<vp1.size();cont++){
Pareja pareja1=(Pareja)vp1.elementAt(cont);
int s2=pareja1.x+pareja1.y;
Vector vs1=problema.buscarParejasGeneradorasSuma(s2);
if (vs1.size()==1)
tamanyo--;
else{
boolean bol3=false;
for (int cont2=0;cont2<vs1.size();cont2++){
Pareja pareja2=(Pareja)vs1.elementAt(cont2);
int p3=pareja2.x*pareja2.y;
Vector vp2=problema.buscarParejasGeneradorasProducto(p3);
if (vp2.size()==1)
bol3=true;
}
if (bol3)
tamanyo--;
}
}
if (tamanyo==1)
System.out.println(i+" "+j);
}
}
}
}



byte[] b=new byte[10];
try{
System.in.read(b);
}catch(java.io.IOException e){
System.out.println(e.getMessage());
}
}

}




-----Mensaje original-----
De: Piru [mailto:LYNSPIKE@...]
Enviado el: miércoles, 07 de agosto de 2002 13:05
Para: uanlist@yahoogroups.com
Asunto: Re: [UAN] De como eligieron a Saruman jefe del concilo blanco (
Acertijo )


Me pregunto yo, cual era el razonamiento que usaste tú Telcontar, podrias
explicarlo, simplemente por curiosidad : )

||=-nazgul2-=||
I´ve waiting for you all those years
then just when it began
he took your love away
but i still say
when you find a love
when you know that it exists
then the lover than you miss
will come to you on those cold, cold nights




La utilización de Yahoo! Grupos está sujeta a su aceptación de las
Condiciones del servicio (http://es.docs.yahoo.com/info/utos.html) así
como de la Política de privacidad (http://privacy.yahoo.com/es/).







Mié, 7 de Ago, 2002 7:02 pm

TELCONTARNAV01@...
Enviar mensaje Enviar mensaje

Reenviar Mensaje #1402 de 2261 |
Desplegar mensajes Autor Ordenar por fecha

Compañeros de la UAN, me complace cominicaros que revisando la biblioteca de minas Tirith he encontrado un manuscrito en el que queda constancia de como se...
Telcontar
TELCONTARNAV01@...
Enviar mensaje
29 de Jul, 2002
10:50 pm

Tengo una posible solucion: Para solucionar este acertijo, debemos ponernos en la situacion de los dos Istari. Ambos tenian una cifra a la que se podia acceder...
Juan Carbajo
niyosequiensoy
Sin conexión Enviar mensaje
30 de Jul, 2002
6:03 pm

El metodo es correcto, pero falta una última parte, la parte en que Saruman dice que 'pues ahora yo tambien la sé' siguiendo tu razonamiento con los numeros...
Telcontar
TELCONTARNAV01@...
Enviar mensaje
30 de Jul, 2002
9:02 pm

Los números (aunque creo que habrá algunos más que sirvan) son el 3 y el 2. A Gandalf de dan la suma 5 y a Saruman la multiplicación que es 6; Gandalf no ...
nazgulio
Sin conexión Enviar mensaje
6 de Ago, 2002
3:44 pm

Me corrijo a mi mismo, me habia confundido y habia tergiversado quien tenia la informacion de la suma y quien de la multiplicación ... la verdad es q parece...
Piru
nazgulio
Sin conexión Enviar mensaje
6 de Ago, 2002
8:13 pm

Me complace confirmar que la respuesta de Nazgul2 es completamente correcta, hecha ademas de un razonamiento completamente diferente al mio. Felicidades ...
Telcontar
TELCONTARNAV01@...
Enviar mensaje
6 de Ago, 2002
9:33 pm

Me pregunto yo, cual era el razonamiento que usaste tú Telcontar, podrias explicarlo, simplemente por curiosidad : ) ... I´ve waiting for you all those years...
Piru
nazgulio
Sin conexión Enviar mensaje
7 de Ago, 2002
11:02 am

Pues yo lo hice mediante fuerza bruto con un programa que me hice en c++, ahora lo he rehecho en java. Basicamente me sacabatodas las parejas que cumplian las...
Telcontar
TELCONTARNAV01@...
Enviar mensaje
7 de Ago, 2002
7:04 pm

No se cual es más elegante, si comerte la cabeza para resolverlo, o comertela para programar el susodicho programa y q el lo resuelva . . . ... ( Bueno aunq...
Piru
nazgulio
Sin conexión Enviar mensaje
7 de Ago, 2002
8:42 pm
Avanzado

Copyright © 2009 Yahoo! Todos los derechos reservados.
Política de Privacidad Actualizada - Condiciones del servicio - Directrices - Ayuda