Autor
|
Tema: Algoritmo: Suma N numeros pares implementando ciclo while (Leído 24,932 veces)
|
LauraD
Desconectado
Mensajes: 14
|
Buenas, tengo que realizar un algoritmo que me genere la suma de los primeros N numeros pares, donde N es ingresado por teclado mediante el uso de la estructura While.
No tengo mucha experiendia con esta estructura, así que se me dificulta..
Les agradeceria mucho si pueden ayudarme!
Intente hacerlo mediante el uso de este algoritmo, pero no obtengo el resultado adecuado..
#include<cstdlib> #include<iostream>
using namespace std;
int main() { int N; int Num; int Suma; N=0; Suma=0;
cout<<"Ingrese un valor numerico"<<endl; cin>>Num; while (N<Num) { Suma=Suma+Num; N++-1; } cout<<endl<<"La suma de los primeros "<<Num<<" numeros impares es igual a: "<<Suma<<endl; system ("PAUSE"); return EXIT_SUCCESS; }
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
while (N<Num) { Suma=Suma+Num; N++-1; }
Lo primero, pones "Suma = Suma+Num". Debería ser "Suma=Suma+N". En segundo lugar, haces "N++" (incrementas N en 1), y luego el restas 1. Quizás prefieras hacer "N=N+2" (si buscas sumar los pares) Replantéate el algoritmo: Tal como lo estás haciendo, estás sumando los pares MENORES a Num, no los primeros N números pares.
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
* El inicializar las variables es el primer paso:int i=0,N=2,Num,Suma=0;
* N=2 que incrementando de dos en dos irán dando los pares a sumar a suma.
* una variable i para ir contando los términos que se toman hasta Num.
Con ello el while te quedaría:while (i<Num) { cout<<N<<endl;//esto obra, es para ver los pares que salen Suma+=N; N+=2; i++; }
El resto O.K.
Como cosa curiosa la suma es el número de pares pedido por el mismo más uno, te podrías ahorrar el while:int main() { int i=0,N=2,Num,Suma=0; cout<<"Ingrese un valor numerico: "; cin>>Num; cout<<endl<<"La suma de los primeros "<<Num<<" numeros impares es igual a: " <<Num*(Num+1)<<endl; system ("PAUSE"); return EXIT_SUCCESS; }
¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 11 Abril 2014, 23:30 pm por leosansan »
|
En línea
|
|
|
|
dRak0
|
{0,2,4,6,8,...,n} f(n)=2n-2 n=1 -> 2*1-2=0 n=2 -> 2*2-2=2 n=3 -> 2*3-2=4 n=4 -> 2*4-2=6 int par(int n) { if(n==0) return 0; return 2n-2+par(n-1); } Prueba par(5) 2*5-2+2*4-2+2*3-2+2*2-2+2*1-2+0= 8+6+4+2+0+0=20 Analisis matematico 1. Series, suceciones , funciones. Deberia funcar , no lo testee ,no tengo ganas de correr gcc.
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Teniendo en cuenta que la suma de los pares es la suma de los términos de una progresión aritmética: 2, 4,6, 8, 10, 12.......donde el término general es:
an=a1+(n-1)*d, donde d=2
se puede aplicar:
Sn=(a1+an)*n/2=(2+2+(n-1)*2)*n/2=
=(4+2*n-2)*n/2=)(2+2*n)*n/2=(n+1)*n ==> Sn=n*(n+1)
De donde sale la curiosa propiedad que mencioné en mi mensaje anterior. Por ejemplo, empezando desde 2, la suma de los cinco primeros pares es 5*6=30.
Claro que si empezamos contando, y sumando, los pares desde 0,es decir 0,2,4,6,8,... entonces queda la fórmula anterior queda como:
Sn=n*(n-1)
Y la suma de los cinco primeros pares es 5*4=20.
¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 12 Abril 2014, 15:06 pm por leosansan »
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Buenas, tengo que realizar un algoritmo que me genere la suma de los primeros N numeros pares, donde N es ingresado por teclado mediante el uso de la estructura While.
Pero él pidió el uso de while.
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Pero él pidió el uso de while.
Si y en mi primer mensaje se lo di con un while. Lo otro ha sido una curiosidad matemática. ¡¡¡¡ Saluditos! ..... !!!!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con programa numeros pares e impares:P
« 1 2 »
.NET (C#, VB.NET, ASP)
|
<sylar>
|
18
|
29,462
|
17 Abril 2009, 03:41 am
por <sylar>
|
|
|
[Problema] Programa para averiguar números pares entre 2 números
Programación Visual Basic
|
Dreamaker
|
3
|
5,840
|
21 Mayo 2010, 23:45 pm
por Shell Root
|
|
|
[JS] ¿Programa para sumar los números pares de un intervalo dado?
« 1 2 »
Scripting
|
Linton
|
11
|
12,662
|
21 Junio 2013, 15:21 pm
por Linton
|
|
|
dev c++ arreglos de numeros pares
Programación C/C++
|
nicolas2696
|
1
|
7,372
|
23 Junio 2014, 02:58 am
por engel lex
|
|
|
Contador de Digitos Numeros Pares
Programación C/C++
|
Seeven
|
3
|
8,545
|
21 Septiembre 2014, 10:26 am
por Seeven
|
|