Principales respuestas
Suma de cuadrados

Pregunta
-
ola gracias oye abusando de tu ayuda lo que pasa es que estoy buscando tambien como hacer suma de cuadrados de los numeros 1 2 3 4 5 ya busque en internet pero no encuentro un ejemplo fijo
- Dividido webJoseModerator jueves, 22 de enero de 2015 14:57
Respuestas
-
La fórmula no tiene mucho que entender, para un número n la suma de los cuadrados de 1 a n es (n * (n+1) * (2*n+1)) / 6.
Si tienes una caja de texto donde se pone el número entonces:
long n = long.Parse(this.textBox1.Text);
Jesús López (MVP SQL Server)
EntityLite: A Lightweight, Database First, Micro ORM- Marcado como respuesta Karen MalagónModerator lunes, 26 de enero de 2015 15:30
- Desmarcado como respuesta Karen MalagónModerator lunes, 26 de enero de 2015 15:30
- Marcado como respuesta Karen MalagónModerator lunes, 26 de enero de 2015 15:30
-
Bueno, a lo mejor soy yo el que no lo ha entendido bien, y en realidad lo que quieres es la lista de las sumas de los cuadrados de 1 a n. O sea que si te dicen 5, lo que quieres es 1, 5, 14, 30, 55.
static IEnumerable<long> GetSquareSumList(long n) { long sum = 0; for (long i = 1; i <= n; i++ ) { sum += i * i; yield return sum; } }
Jesús López (MVP SQL Server)
EntityLite: A Lightweight, Database First, Micro ORM- Marcado como respuesta Karen MalagónModerator lunes, 26 de enero de 2015 15:30
Todas las respuestas
-
No es abuso, pero recuerde que el uso del foro indica que es una pregunta por conversación. Esto porque ayuda en los resultados de buscadores y por supuesto ayuda a mantener el orden. Voy a dividir su pregunta por esta misma razón.
La suma de cuadrados se logra haciendo un bucle FOR para recorrer cada número que necesita. Antes de entrar al bucle, inicialice una variable numérica a cero para ir acumulando el total. Luego dentro del bucle usted suma a lo que ya tiene (la variable numérica de acumulación) el cuadrado del número que le da el bucle.
Le recomiendo que trate usted mismo; de otra forma no aprenderá y le costará más en el futuro. Para darle una pista, este es el inicio:
int total = 0; for(int i = 1; i < 6; ++i) ...
Suerte.
Jose R. MCP
Code Samples -
using System; using System.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] num = {1, 2, 3, 4, 5}; int suma = num.Sum(n => n * n); Console.WriteLine("La suma de los cuadrados es " + suma); Console.ReadKey(); } } }
-
si son números de 1 al n hay una fórmula matemática directa, que no requiere recorrer los números y es por tanto mucho más eficiente:
long n = 5; long sumaCuadrados = (n * (n+1) * (2*n+1)) / 6;
Jesús López
EntityLite a lightweight, database first, micro orm
- Editado Jesús López jueves, 22 de enero de 2015 15:11 x
- Propuesto como respuesta Karen MalagónModerator viernes, 23 de enero de 2015 18:32
-
-
La fórmula no tiene mucho que entender, para un número n la suma de los cuadrados de 1 a n es (n * (n+1) * (2*n+1)) / 6.
Si tienes una caja de texto donde se pone el número entonces:
long n = long.Parse(this.textBox1.Text);
Jesús López (MVP SQL Server)
EntityLite: A Lightweight, Database First, Micro ORM- Marcado como respuesta Karen MalagónModerator lunes, 26 de enero de 2015 15:30
- Desmarcado como respuesta Karen MalagónModerator lunes, 26 de enero de 2015 15:30
- Marcado como respuesta Karen MalagónModerator lunes, 26 de enero de 2015 15:30
-
Bueno, a lo mejor soy yo el que no lo ha entendido bien, y en realidad lo que quieres es la lista de las sumas de los cuadrados de 1 a n. O sea que si te dicen 5, lo que quieres es 1, 5, 14, 30, 55.
static IEnumerable<long> GetSquareSumList(long n) { long sum = 0; for (long i = 1; i <= n; i++ ) { sum += i * i; yield return sum; } }
Jesús López (MVP SQL Server)
EntityLite: A Lightweight, Database First, Micro ORM- Marcado como respuesta Karen MalagónModerator lunes, 26 de enero de 2015 15:30