C sharp - Porque no se seleccionan los numeros centrales

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 18 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Porque no se seleccionan los numeros centrales

Publicado por Emmanuel (1 intervención) el 27/02/2020 03:31:15
Estoy realizando un código el cual se llama como método neumann en el cual consiste en ingresar un numero de 10 dígitos los cuales se elevaran a la ^2 y en el resultado se tomaran 5 números centrales y el cual no se porque mi código no lo hace, si alguien me pudiera orientar se lo agradecería. Realizándolo en visual estudio con c#
Ejemplo de lo que trato de hacer pero no se seleccionan los numeros centrales
1= (1234567890)^2
2= 1,524,157,875,019,052,100‬ seleccionar 5 digitos centrales
3= 87501

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Enrique
Val: 189
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Porque no se seleccionan los numeros centrales

Publicado por Enrique (69 intervenciones) el 27/02/2020 18:03:49
Tienes varios errores:
-Tu ejercicio es de manipular string
-Tienes fijo siempre la extracion de 5 datos
-Cada que pasa el for la semilla cuadrada cambia de valor pero siempre estas intentando extraer desde la posicion 3 5 letras adelante
Para extraer siempre los 5 digitos del centro sería:
-x = Debes contar cuanto tiene de longitud la semilla cuadrada/2
--Del resultado restarle 3 (x = x+3)
---aplicar el substring(x,5)
y eso es todo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Porque no se seleccionan los numeros centrales

Publicado por dario (48 intervenciones) el 28/02/2020 04:41:53
Hola, te deberia quedar algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
 
public class program {
	public static void Main() {
		long num;
		string cuadrado;
		int x;
 
		Console.Write("Ingrese un numero de 10 digitos: ");
		num = Convert.ToInt64(Console.ReadLine());
		cuadrado = Convert.ToString(num * num);
		Console.WriteLine("{0}",cuadrado);
		x = cuadrado.Length / 2;
		x = x - 2;
		Console.WriteLine(cuadrado.Substring(x,5));
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar