elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Neumann en c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Neumann en c#  (Leído 633 veces)
EmmanuelTR9

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Neumann en c#
« en: 26 Febrero 2020, 07:28 »

hola a todos los que puedan leer mi duda que tengo, estoy realizando este metodo en c# pero al momento de tomar los 5 numeros de enmedio de la multiplicacion no lo hace hasta despues lo hace no se si tenga algun error si me podria alguien corregir

  
Código
  1. double Cantidad;
  2.            double Semilla;
  3.            Semilla = int.Parse(textBox1.Text);
  4.            Cantidad = int.Parse(textBox2.Text);
  5.            double Semilla_cuadrada = 0;
  6.  
  7.            for (int i = 0; i < Cantidad; i++)
  8.            {
  9.                Semilla_cuadrada = Semilla * Semilla;
  10.                String NSemilla_cuadrada;
  11.                NSemilla_cuadrada = Convert.ToString(Semilla_cuadrada);
  12.                String D4;
  13.                D4 = NSemilla_cuadrada.Substring(3, 5);
  14.                Semilla = Convert.ToInt64(D4);
  15.                listBox1.Items.Add(Semilla_cuadrada);
  16.                listBox2.Items.Add(Semilla);
  17.            }


CoAdm: Etiqueta corregida y tema movido al subforo correcto


« Última modificación: 26 Febrero 2020, 07:37 por engel lex » En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Neumann en c#
« Respuesta #1 en: 26 Febrero 2020, 07:41 »

desconozco el metodo que describes, pero me parece que no es necesario convertir a string, podrías explicar lo que necesitas hacer en la operacion?


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
EmmanuelTR9

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Neumann en c#
« Respuesta #2 en: 26 Febrero 2020, 07:45 »

desconozco el metodo que describes, pero me parece que no es necesario convertir a string, podrías explicar lo que necesitas hacer en la operacion?
Gracias por responder, lo que necesito hacer es
1.escribir 10 numeros
2.(10numeros)^2
3.y el resultado que salga se toman los 5 de enmedio y se vuelve a repetir el paso 2
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Neumann en c#
« Respuesta #3 en: 26 Febrero 2020, 07:54 »

lo que describes no es claro...

escribes 10 numeros o 1 numero de 10 cifras?

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
EmmanuelTR9

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Neumann en c#
« Respuesta #4 en: 26 Febrero 2020, 07:57 »

disculpa te explico
escribir un numero de 10 digitos
ejemplo
1. 1234567890
2. (1234567890)^2 elevar al 2
3. Tomar 5 numeros de enmedio de lo que salga al elevar al 2
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Neumann en c#
« Respuesta #5 en: 26 Febrero 2020, 08:12 »

cualquier numero de 10 cifras al cuadrado tendrá de 100 a ~122 digitos, sin librerias especializadas no podrás calcular eso y tomará un tiempo enorme en calcular... luego de eso, como decides cuales son los 5 del medio? en tu codigo asumes que es a partir del 3er digito, pero es mucho mas complejo que eso
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
NEBIRE


Desconectado Desconectado

Mensajes: 2.335


Ver Perfil
Re: Neumann en c#
« Respuesta #6 en: 26 Febrero 2020, 09:50 »

No, Engel... has interpretado mal el enunciado (aunque incompleto y confuso)
1.234.567.890 al cuadrado = 1.524.157.875.019.052.100, es decir, elevar un número decimal al cuadrado, a lo sumo dupluca su número de cifras...

Básicamente el código casi está bien... le falta un par de detalles...

Entiendo que el bucle implica que se repite el proceso x veces...

Código:
bucle para k desde 1 a x veces
    cuadrado =semilla * semilla
    txtValor = cuadrado.toString
    listCuadrado.AddItem(txtValor)
    digitos = txtValor.length
    txtValor =txtValor.Substring((dígitos\2) - 3,5)
    semilla = txtValor.parseToLong
    listSemilla.AddItem(txtValor)
Siguiente
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Neumann en c#
« Respuesta #7 en: 26 Febrero 2020, 10:02 »

NEBIRE gracias por la aclaratoria y me disculpo por la confusion, en mi mente estaba elevando a x^x, efectivamente de 18 a 19 digitos (19 para mayor a 3162277660)

sin embargo los 5 del medio no son desde el 3ro son desde el dígito 7 u 8

0123456789012345678 (empiezo desde 0 para dejar clara la posicion en el array)

en cual caso usaría siempre un entero de 64 bit dividiría entre 10^7 y luego haría modulo de 10^5

« Última modificación: 26 Febrero 2020, 10:19 por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
EmmanuelTR9

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Neumann en c#
« Respuesta #8 en: 26 Febrero 2020, 17:07 »

No, Engel... has interpretado mal el enunciado (aunque incompleto y confuso)
1.234.567.890 al cuadrado = 1.524.157.875.019.052.100, es decir, elevar un número decimal al cuadrado, a lo sumo dupluca su número de cifras...

Básicamente el código casi está bien... le falta un par de detalles...

Entiendo que el bucle implica que se repite el proceso x veces...

Código:
bucle para k desde 1 a x veces
    cuadrado =semilla * semilla
    txtValor = cuadrado.toString
    listCuadrado.AddItem(txtValor)
    digitos = txtValor.length
    txtValor =txtValor.Substring((dígitos\2) - 3,5)
    semilla = txtValor.parseToLong
    listSemilla.AddItem(txtValor)
Siguiente


gracias por responder, he intentado similarlo pero no, estoy usando visual studio 2019 para hacer el codigo pero no puedo hacer que funcione me podrias dar mas informacion
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Neumann en c#
« Respuesta #9 en: 26 Febrero 2020, 17:23 »

que resultado obtienes? que resultado esperas?

es decir, con las correcciones de neribe casi esta listo
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Alguien me facilita un simulador de Von Neumann
Foro Libre
danielo- 1 2,758 Último mensaje 26 Agosto 2010, 11:50
por KuraraGNU
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines