Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: LauraD en 11 Abril 2014, 22:37 pm



Título: Algoritmo: Suma N numeros pares implementando ciclo while
Publicado por: LauraD en 11 Abril 2014, 22:37 pm
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;
}


Título: Re: Algoritmo: Suma N numeros pares implementando ciclo while
Publicado por: ivancea96 en 11 Abril 2014, 22:57 pm
    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.


Título: Re: Algoritmo: Suma N numeros pares implementando ciclo while
Publicado por: leosansan en 11 Abril 2014, 23:18 pm
* El inicializar las variables es el primer paso:

Código
  1. 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:


Código
  1. while (i<Num) {
  2.      cout<<N<<endl;//esto obra, es para ver los pares que salen
  3.      Suma+=N;
  4.      N+=2;
  5.      i++;
  6. }
  7.  

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:


Código
  1. int main()
  2. {
  3.  int i=0,N=2,Num,Suma=0;
  4.  cout<<"Ingrese un valor numerico: ";
  5.  cin>>Num;
  6.  cout<<endl<<"La suma de los primeros "<<Num<<" numeros impares es igual a: "      <<Num*(Num+1)<<endl;
  7.  system ("PAUSE");
  8.  return EXIT_SUCCESS;
  9. }

¡¡¡¡ Saluditos! ..... !!!!


(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)


Título: Re: Algoritmo: Suma N numeros pares implementando ciclo while
Publicado por: dRak0 en 12 Abril 2014, 02:33 am
{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. :P   


Título: Re: Algoritmo: Suma N numeros pares implementando ciclo while
Publicado por: leosansan en 12 Abril 2014, 14:59 pm
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! ..... !!!!


(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)



Título: Re: Algoritmo: Suma N numeros pares implementando ciclo while
Publicado por: ivancea96 en 12 Abril 2014, 15:27 pm
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.


Título: Re: Algoritmo: Suma N numeros pares implementando ciclo while
Publicado por: leosansan en 12 Abril 2014, 16:07 pm
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! ..... !!!!


(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)