Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   La Taberna (https://www.clubdelphi.com/foros/forumdisplay.php?f=40)
-   -   Para alguien que este aburrido y con ganas de pensar! (https://www.clubdelphi.com/foros/showthread.php?t=37432)

marceloalegre 14-11-2006 16:05:04

JAJAJA!! de no creer!! gracias domingo!. A los demas les digo que hasta fui ilustrado con el codigo en delphi que soluciona el problema!!. Lo repito un grande domingo.

Voy a tirar una pista mas para los que estan intentando, porque a mi me complico la vida... olvidense de la ñ!!

Bicho 14-11-2006 22:00:15

Cita:

Empezado por seoane
Pues ahí va una pista, al mensaje que tu pusiste le falta una palabra:

El mensaje completo seria así:
Cita:
XLD Z QH FCSALFFK GG LYDPTZ GG YYLIT LQ NF BOVNTD EFZLNQH GGQ ADDQLUQ

Puede que ahora Bicho ya encuentre la solución

Pues muchas gracias Domingo, yo había conseguido la siguiente palabra a lo que tú has añadido, pero como se había perdido la secuencia las demás me aparecían barullos. Ahore tengo que encontrar la solución a lo que se pide, que supongo que es la cifra que has puesto.
De todos modos, Buenos Aires me pilla un poco lejos desde Mallorca.

Saludos y suerte a los que lo intenteis. :D

Ivanzinho 15-11-2006 09:28:42

Recuerdo que que mi profesor de matemáticas nos contaba continuamente esta leyenda. ;)

dec 15-11-2006 10:04:10

Hola,

Cita:

Empezado por Iván
Recuerdo que que mi profesor de matemáticas nos contaba continuamente esta leyenda.

Me he perdido. ¿De qué leyenda hablamos? :confused: :cool:

Bicho 15-11-2006 12:03:39

Cita:

Empezado por dec
Me he perdido. ¿De qué leyenda hablamos?

Pero David, todavía no has sacada el texto? Estamos por tí hombre :D

Saludos

marceloalegre 15-11-2006 12:34:31

Esperemos al que pueda quedar, la verdad estuvo bueno,aunque a mi me complico... considero que el que merece explicar esto seria Domingo que llego con todos los honores del caso, como les dije hasta estan los algoritmos en delphi! ;)

Y cuando terminamos con este, les puedo pasar otro aviso mas que salió de la misma empresa, por lo menos para divertirse (se me hizo facil esta vez..)

Saludos! y felicitaciones a todos, desde el que llego hasta el que puso de su tiempo para planterarlo! :cool:

Ñuño Martínez 15-11-2006 12:43:33

Y yo sin ordenador... ¡No es justo! :mad:

[p.s.]El de la empresa no cuenta, porque no puedo usarlo para estos menesteres.

marceloalegre 15-11-2006 12:56:41

Haaa! me olvidaba! mis disculpas a todos (Bicho por ejemplo) por las 2 GG que me he comido! ya que les genero problemas para resolver la cuestion!!!

Ivanzinho 15-11-2006 13:06:13

Cita:

Empezado por dec
Me he perdido. ¿De qué leyenda hablamos? :confused: :cool:

Leyenda??? Quien dijo leyenda :confused::):rolleyes:

Creo que no me corresponde a mi decir a que leyenda me refiero :)

seoane 15-11-2006 13:08:26

Como veo que la cosa ya no interesa mucho, pongo el algoritmo de cifrado.

Código Delphi [-]
function Descifrar(Str, Clave: String): string;
var
  i,j,k: integer;
begin
  Result:= '';
  j:= Length(Clave);
  for i:= 1 to Length(Str) do
  begin
    if Str[i] in ['A'..'Z'] then
    begin
      j:= (j mod Length(Clave)) + 1;
      k:= Ord(Str[i]) - Ord(Clave[j]) + Ord('0');
      if k < Ord('A') then
        k:= Ord('Z') - Ord('A') + k + 1;
      Result:= Result + Chr(k);
    end else
      Result:= Result + Str[i];
  end;
end;

function Cifrar(Str, Clave: String): string;
var
  i,j,k: integer;
begin
  Result:= '';
  j:= Length(Clave);
  for i:= 1 to Length(Str) do
  begin
    if Str[i] in ['A'..'Z'] then
    begin
      j:= (j mod Length(Clave)) + 1;
      k:= Ord(Str[i]) + Ord(Clave[j]) - Ord('0');
      if k > Ord('Z') then
        k:= Ord('A') - Ord('Z') + k - 1;
      Result:= Result + Chr(k);
    end else
      Result:= Result + Str[i];
  end;
end;

Por ejemplo para descifrar el mensaje:
Código Delphi [-]
ShowMessage(Descifrar('XLD Z QH FCSALFFK GG LYDPTZ GG YYLIT LQ NF BOVNTD EFZLNQH GGQ ADDQLUQ','5732'));

Neftali [Germán.Estévez] 15-11-2006 13:50:36

¿Porqué rh@9223372036854775808.com y no rh@18446744073709551616.com?

link


EDITO: Aparte de la razón empírica (esta dirección -rh@18446744073709551616.com- no existe).:D

marceloalegre 15-11-2006 14:05:17

Es muy simple, porque 18446744073709551616 es el total de todas las casillas sumadas, lo que pide el enunciado es el de la ultima casilla :cool:

Puedes hacer el ejemplo con 4 casillas...
1 2
4 8

si fueran 4 casillas en la ultima tienes 8 granos, siendo 2^4=16 el total de todas las casillas, lo mismo se aplica para el problema con 64 casillas, en la ultima tendrias 2^63 granos = 9223372036854775808

Saludos!

Bicho 15-11-2006 15:37:43

Cita:

Empezado por kanvictor
Haaa! me olvidaba! mis disculpas a todos (Bicho por ejemplo) por las 2 GG que me he comido! ya que les genero problemas para resolver la cuestion!!!

Hombre, pues se agradece, porque la verdad, nada más ver el texto, vacilando unos segundos lo vi claro. Pero como ya dije, a la mitad se me quedó cortado, perdiendo toda lógica e intenté continuar. Así conseguí la palabra trigo, pero luego me lie solito.

De todos modos hay que quitarse el sombrero nuevamente ante seoane, ya que no sólo encontró el fallo, sino que además tuvo el ingenio y las ganas de poner el algoritmo.

Saludos

Ñuño Martínez 15-11-2006 16:11:48

Sabía que esa era la solución, solo que como no tengo ordenador hasta el Viernes pues no he podido ponerla en práctica. :(

Neftali [Germán.Estévez] 15-11-2006 16:17:56

Cita:

Empezado por kanvictor
...porque 18446744073709551616 es el total de todas las casillas sumadas

A parte de eso (que no lo se), también es 2^64.

Cita:

Empezado por kanvictor
...lo que pide el enunciado es el de la ultima casilla

Por eso 2^64. A no ser que los tableros de ajedrez hayan cambiado y tengan ahora 63 casillas.:D:D:D

Supongo que es una tontería y en algun sitio me he perdido un detalle de porqué 63 y no 64.

Un saludo.

marceloalegre 15-11-2006 16:46:20

Neftali:
De este sitio que me paso Domingo he leido los datos de la respuesta

http://www.renuevodeplenitud.net/Ref...ion.php?id=446

en cuanto al porque de 2^63 es justamente por lo mismo de 2^3 que te mostraba en el ejemplo ...
Lo explico de nuevo a ver si se entiende, imaginemos que el tablero de ajedrez tuviera 4 casilleros solamente, entonces segun la leyenda el matematico le pide al rey el doble de la casilla anterior empezando de 1:
casilleros:
1 2
4 8

Total de grano pedido 2^4 =16 pero como se ve ahi, total de granos de la ultima casilla 2^3=8

Los mismo de aplica para el tablero de 64 casilleros, la cantidad de granos que hay en la ultima casilla seria 2^63.-

Se entiende? o soy muy malo para explicarme!! :confused: :eek:

Saludos!!! :rolleyes:

seoane 15-11-2006 17:03:04

Cita:

Empezado por Neftali
A parte de eso (que no lo se), también es 2^64.


Por eso 2^64. A no ser que los tableros de ajedrez hayan cambiado y tengan ahora 63 casillas.:D:D:D

Supongo que es una tontería y en algun sitio me he perdido un detalle de porqué 63 y no 64.

Un saludo.

:rolleyes: Vamos a recordar cuando en la universidad aprendíamos números binarios. Cuando tenemos un número de n bits, el valor mas alto que puede representarse es (2^n)-1, el valor del bit menos significativo es 2^0=1, el del mas significativo 2^(n-1). Eso creo que todo lo tenemos claro ;)

Pues ahora en vez de bits piensa en casillas y en vez de valor piensa en granos. Todo el tablero tiene (2^64)-1 granos, la primera casilla tiene 1 grano y la ultima 2^(64-1)=2^63. Si es que con el avatar que tengo se me da por explicar todo con parábolas :D

Neftali [Germán.Estévez] 15-11-2006 17:09:51

Cita:

Empezado por seoane
...la primera casilla tiene 1 grano y la ultima 2^(64-1)=2^63.

Ok; Segun lo que yo había leído la casilla i debía tener 2^i granos. La casilla 1 tenía 2 granos, la 2 tenía 4,...

Enunciado: ..., y pidió lo siguiente: dos granos de trigo por la primera casilla del tablero, cuatro granos por la segunda, ocho por la tercera, dieciseis por la cuarta, y así sucesivamente hasta completar las sesenta y cuatro casillas.

Supongo que ahí estaba el error.

mamcx 15-11-2006 17:23:14

Podrian tener algo de consideracion con la gente ignorante de estos latos?

Como llegaron a eso? (Si ya vi el codigo, pero saber la respuesta no es mi interes, es como se llego alli)

La verdad esto es el tipo de cosas que me gustaria saber para darle toques especiales a MUTIS... y para saber como implementar el algoritmo de clustering (que lo tengo, pero no lo entiendo :( )....

marceloalegre 15-11-2006 18:34:48

Bueno, la resolución la dio Seaone en primera instancia, pero te puedo contar lo siguiente:
En las primeras lecturas de Cifrado uno se encuentra con esto por ejemplo:

Cifrado Cesar

En la criptografía, un cifrado César, también conocido como cifrado por desplazamiento, es una de las técnicas de codificación más simples y más usadas. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra en una posición que está un número determinado de espacios más adelante en el alfabeto.

http://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar


Es una de las tecnicas mas antiguas de cifrado, y muy buena para introducirse en estos temas.
Utilizando esta tecnica de desplazamiento, pero a izquierda, y tomando los nros 5732(clave) uno a uno es como se llega a la frase en cuestion.

En cuanto a la frase seguramente fue buscar en google y llegar al fondo de la cuestion.
Imagino que mas o menos Domingo lo encaro de esa manera pero bueno todo es solo una sospecha :eek: !

Saludos.-


La franja horaria es GMT +2. Ahora son las 00:29:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi