Calcular numeros aleatorios (Ayuda)
Buenas noches tengo un problema que me mandaron a realizar en clase de programacion en el cual necesito hacer un programa que me genere numeros aleatorios por la tecnica del cuadrado medio.
Si no lo saben consiste en tomar un número de N cifras elevarlo al cuadrado y usar los N dígitos centrales como número aleatorio, luego repetir el proceso para generar nuevos números aleatorios usando como semilla el aleatorio anterior. Necesito escribir el programa para que lea un número entero cualquiera de N cifras y genere una lista de 20 números aleatorios utilizando esa tecnica, pero no logro hacer un algoritmo que me sirva y no tengo idea de como hacer que solo agarre los numeros centrales. Alguna idea? Si la tienen se los agradecere mucho :D |
Hola gabtroc.
Cita:
Saludos. |
Cita:
Saludos, |
Hola Delphius.
¿ Vos sabes que me hiciste dudar ? Hace años que lo ví, pero acabo de buscar y sí, es de él. Recuerdo el método por ingenioso, simple y malo. Tendía a repetir el patron como un tartamudo :D cosa que él sabía. Pero cumplió su cometido para la época de las válvulas. Saludos.:) |
Cita:
Y muy rápido... aunque eso depende fuertemente del valor semilla. Recuerdo que en cátedra desarrollamos este algoritmo y probé con varios números y en algunos casos no llegaba a generar una veintena :p Vos al menos dudaste... yo directamente lo olvidé y quedé con que era Lehemer :o Que va... ya me está afectando mucho el no seguir poniendo en práctica las cosas vistas en la carrera; me estoy oxidando :( Saludos, |
Revisando, creo que esta vez con mejor atención y sabiendo que son las 2:23 am, al código de ecfisa, no se obtienen los números centrales, sino la 2da mitad.
El método pide el número de N dígitos formado los números del medio. Por ejemplo, dado el número 12345678, si N = 4 entonces el número a extraer sería: 3456 ;) Lo bueno es que con unas simples correcciones, y hasta me animaría a decir fácilmente identificables, se obtendría el resultado esperado. Se lo puede dejar de tarea a gabtroc que lo analice y descubra como proseguir con ese tip que se le ha dado. Saludos, |
Cita:
Pero como bién comentas es muy poca la tarea de corrección; lo dejamos en las buenas manos de gabtroc. Saludos. :) Edito: Como verás no sos el único al que le falla la memoria... :D |
Buenas tardes amigos perdonen la ausencia es que tenia problemas con el internet.
Viendo el codigo que me diste ecfisa resulta que no puedo utilizar la instruccion IntToStr por peticiones del profesor Tengo que realizar lo siguiente: Ingresar un numero inicial Determinar la cantidad de digitos que tiene, a esto se le puede llamar N Dividir esa cantidad entre 2 y tomar ese numero como la cantidad de digitos a descartar del numero al cuadrado, lo llamo M Elevar al cuadrado el numero original Descartar la M cantidad de digitos que saque anteriormente y luego quedarme solo con los N restantes y repetir eso las 20 veces que me pide el problema. Y bueno desarrolle todo eso ya en codigo excepto la repeticion de todo el porgrama para generar los 20 numeros aleatorios (bueno pseudoaleatorios) si me pueden ayudar con eso seria perfecto porque tengo hasta mañana para enviar ese programa y otros cuatro mas que estaba haciendo en la semana. Disculpen lo poco ordenado del codigo pero eso pienso arreglarlo luego, le agregue unos comentarios para que este un poco mas entendible para ustedes.
|
La franja horaria es GMT +2. Ahora son las 01:26:08. |
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