Problema-Acertijo- Jueguito


Ir a la página 1, 2, 3  Siguiente

Objetivo: Problema-Acertijo- Jueguito
Me ha surgido en un programa que estoy haciendo el problema que os planteo más abajo. Como soy de letras me ha costado un montón solucionarlo. Tengo curiosidad en ver cómo lo solucionáis vosotros.

¿Cómo hallar el resto de dividir por 97 un número de 24 dígitos?

Los tipos de datos de gambas no dan para tantos dígitos, o sea que

nResultado=numero MOD 97

no vale.

No vale tirar de librerías externas ni comandos shell. Sólo Gambas.

A divertirse.

Perfil MP  
Objetivo: Re: Problema-Acertijo- Jueguito
Hola Shordi, yo he implicado tambien el foro de la comunidad de Gambas-it.org:

http://www.gambas-it.org/smf/index.php?topic=3263

Perfil MP  
Objetivo: Re: Problema-Acertijo- Jueguito
He encontrado varias cosillas, que creo que los tiros van por ahi:

http://www.monografias.com/trabajos...ordenadores.pdf

Y https://groups.google.com/forum/#!t...ess/IZFExEtPnNI

Basicamente seria dividir el numero grande en trozos más pequeños y operar.

parte1$ = Mid$(numeroiban$, 1, 9)
parte2$ = Mid$(numeroiban$, 10, 7)
parte3$ = Mid$(numeroiban$, 17, 7)
parte4$ = Mid$(numeroiban$, 24, 6)

A = Val(parte1$) Mod 97
B = Val(Format(A) + parte2$) Mod 97
C = Val(Format(B) + parte3$) Mod 97
D = Val(Format(C) + parte4$) Mod 97


Saludos

Nota:
¿el copiar y pegar vale?

última edición por jsbsan el Lunes, 03 Febrero 2014, 21:20; editado 2 veces
Objetivo: Re: Problema-Acertijo- Jueguito
Por supuesto que vale, la investigación es parte del tema...

De momento gana Julio.

Perfil MP  
Objetivo: Re: Problema-Acertijo- Jueguito
Vuott, vale cortar y pegar, pedir socorro no.
Es broma. Me encanta ese trabajo de unión de foros que estás haciendo.

Saludos.

Perfil MP  
Objetivo: Re: Problema-Acertijo- Jueguito
shordi escribió: [Ver mensaje]
Vuott, .....
Es broma. Me encanta ese trabajo de unión de foros que estás haciendo.

Saludos.


Empecé desde un poco de tiempo para señalar en el foro -It los debates más importantes e interesantes de este foro -Es.
Creo que, sin perjuicio de la autonomía de cada grupo y foro, el intercambio de información y experiencias en completa armonía sea esencial y valiosa para todos.

Yo creo tambien que los dos foros deben empezar y fortalecer sus relaciones.

Saludos.

Ciao !


última edición por vuott el Lunes, 03 Febrero 2014, 23:36; editado 2 veces
Perfil MP  
Objetivo: Re: Problema-Acertijo- Jueguito
shordi:
Citar:
De momento gana Julio.


¿y mi premio? ¿y mi regalo? ¡¡¡¡UN PALO!!!! ¡¡¡¡UN PALO!!!!

cartel_palo

Objetivo: Re: Problema-Acertijo- Jueguito
jsbsan escribió: [Ver mensaje]

Basicamente seria dividir el numero grande en trozos más pequeños y operar.

parte1$ = Mid$(numeroiban$, 1, 9)
parte2$ = Mid$(numeroiban$, 10, 7)
parte3$ = Mid$(numeroiban$, 17, 7)
parte4$ = Mid$(numeroiban$, 24, 6)

A = Val(parte1$) Mod 97
B = Val(Format(A) + parte2$) Mod 97
C = Val(Format(B) + parte3$) Mod 97
D = Val(Format(C) + parte4$) Mod 97



Ojo con ese código de VisualBasic. El operador '+' en este caso no suma, sino que concatena. Hay que sustituirlo por '&' para que funcione en gambas.

Confieso que esto fue lo primero que se me ocurrió, pero no sabía cómo ni porqué iba a funcionar... También probé a poner un punto decimal y luego multiplicar, etc, pero nada funcionaba.

Bueno, el truco está aquí:

Citar:
En aras de una mayor precisión, se recomienda el uso de números enteros en lugar de decimales. Si el guarismo es demasiado largo para la implantación en el software de números enteros (un número entero de 32 bits o 64 bits representa un máximo de 9 ó 18 dígitos), debe dividirse el cálculo en cálculos restantes consecutivos sobre números enteros con una extensión máxima de 9 ó 18 dígitos.

El resto de dividir 00120345030000067890142807 entre 97 = 1

1. Calcular el módulo 97 de los primeros 9 (o 18) dígitos del guarismo.
Módulo 97 de 001203450
2. Conseguir el siguiente número entero de 9 (o 18) dígitos del resto, seguido por los siguientes 7/8 (o 16/17) dígitos del guarismo. Calcular el módulo 97.
Módulo 97 de 683000006=17
3. Repetir el paso 2 hasta que los dígitos del guarismo hayan sido procesados.
Módulo 97 de 177890142=96
Módulo 97 de 96807=1


Y en la misma página se explica el algoritmo completo:

http://www.finanzasybanca.com/iberf...caria-IBAN.html

Saludos

Perfil MP  
Objetivo: Re: Problema-Acertijo- Jueguito
vuott escribió: [Ver mensaje]

Empecé desde un poco de tiempo para señalar en el foro -It los debates más importantes e interesantes de este foro -Es.
Creo que, sin perjuicio de la autonomía de cada grupo y foro, el intercambio de información y experiencias en completa armonía sea esencial y valiosa para todos.

Yo creo también que los dos foros deben empezar y fortalecer sus relaciones.

Saludos.

Ciao !


Completamente de acuerdo, vuott. Hay que hacer un esfuerzo para intentar sumar los conocimientos de ambos foros, aunque comprendo que puede ser difícil por la lengua diferente. Creo que google translator puede ayudar bastante aquí.
Gracias por tus esfuerzos, confío en que los miembros de este foro tratarán de unirse a nuestro deseo.

Saludos

Perfil MP  
Objetivo: Re: Problema-Acertijo- Jueguito
Si ejj que no puede ser, el google es un chivato. Al final habéis llegado a lo mismo que llegué yo. El documento de JGuardón es el que me encaminó en la ruta correcta.
Segundo premio para él. (Medio palo, claro.)

Os pongo otro jueguito. Éste es más fácil.

¿Cómo obtener el icono del sistema para un archivo (el mismo que usa nautilus) sin que ese archivo esté en el ordenador? (Es para el cliente ftp, y no te puedes descargar un archivo sólo para averiguar su icono, claro)

Otro palo de premio.

Perfil MP  
Ir a la página 1, 2, 3  Siguiente

Página 1 de 3


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1195s (PHP: -16% SQL: 116%)
Consultas SQL: 25 - Debug off - GZIP Activado