Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-11-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Y yo sin ordenador... ¡No es justo!

[p.s.]El de la empresa no cuenta, porque no puedo usarlo para estos menesteres.
Responder Con Cita
  #2  
Antiguo 15-11-2006
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 22
marceloalegre Va por buen camino
Post

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!!!
Responder Con Cita
  #3  
Antiguo 15-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
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'));
Responder Con Cita
  #4  
Antiguo 15-11-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Porqué [email protected] y no [email protected]?

link


EDITO: Aparte de la razón empírica (esta dirección [email protected]- no existe).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 15-11-2006 a las 13:58:40.
Responder Con Cita
  #5  
Antiguo 15-11-2006
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 22
marceloalegre Va por buen camino
Post

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

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!
Responder Con Cita
  #6  
Antiguo 15-11-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 24
Bicho Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 15-11-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
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.
Responder Con Cita
  #8  
Antiguo 15-11-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.

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

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 15-11-2006
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 22
marceloalegre Va por buen camino
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!!

Saludos!!!
Responder Con Cita
  #10  
Antiguo 15-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
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.

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

Un saludo.
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Necesito alguien con paciencia y ganas e ayudare. Gabel Varios 2 13-09-2006 20:09:24
Para pensar seoane Humor 4 04-06-2006 23:48:34
Alguien tiene idea de que sea este error.... Alfredo Varios 2 04-02-2005 13:59:15
Me ayuda alguien con este msg de error? NaZZ Varios 4 12-03-2004 09:31:25


La franja horaria es GMT +2. Ahora son las 09:40:17.


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