Autor
|
Tema: Neumann en c# (Leído 5,237 veces)
|
EmmanuelTR9
Desconectado
Mensajes: 31
|
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 double Cantidad; double Semilla; Semilla = int.Parse(textBox1.Text); Cantidad = int.Parse(textBox2.Text); double Semilla_cuadrada = 0; for (int i = 0; i < Cantidad; i++) { Semilla_cuadrada = Semilla * Semilla; String NSemilla_cuadrada; NSemilla_cuadrada = Convert.ToString(Semilla_cuadrada); String D4; D4 = NSemilla_cuadrada.Substring(3, 5); Semilla = Convert.ToInt64(D4); listBox1.Items.Add(Semilla_cuadrada); listBox2.Items.Add(Semilla); }
CoAdm: Etiqueta corregida y tema movido al subforo correcto
|
|
« Última modificación: 26 Febrero 2020, 07:37 am por engel lex »
|
En línea
|
|
|
|
engel lex
|
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
Mensajes: 31
|
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
|
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
Mensajes: 31
|
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
|
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.
|
|
|
Serapis
|
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... 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
|
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 am 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
Mensajes: 31
|
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... 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
|
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.
|
|
|
|
|