Series numericas en c++

Iniciado por Exorcista12, 13 Noviembre 2013, 21:11 PM

0 Miembros y 2 Visitantes están viendo este tema.

Exorcista12

Como realizaría esta serie numérica en c++?
6+4+6+3+6+2+6+1..... =
Los puntos suspensivos indican un numero que ingresa el usuario para determinar hasta que limite se realiza la suma.

Gracias por su ayuda, no se como hacerla :c

ivancea96

Código (cpp) [Seleccionar]
int serie(int n){
    int total=0;
    for(int i=1;i<=n;i++){
        total += 6+i;
    }
    return total;
}


¿Algo así dices?

Vaagish

Seria algo asi, pero en vez de sumar el for, tendria que restar.. o sea i--, no?

rir3760

Cita de: Vaagish en 13 Noviembre 2013, 23:59 PMSeria algo asi, pero en vez de sumar el for, tendria que restar.. o sea i--, no?
No porque el contador "i" inicia en 1 y termina en "n", en el ejemplo toma los valores 1 .. 4.

Si se trata de la serie 1 + 6, 2 + 6, ... N + 6 se puede calcular el resultado mediante la expresión:
int serie(int n)
{
   return n * 6 + n * (n + 1) / 2;
}


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

Vaagish

Claro, es el mismo resultado.. yo respondí a la pasada, y ni me fije, jeje

Citar6+4+6+3+6+2+6+1..... =

es lo mismo que:

Citar1 + 6, 2 + 6, ... N + 6

Saludos!

rir3760

No estoy seguro porque (por desgracia usual en estos casos) la descripción del problema por parte del OP no es tan clara como uno quisiera.

Por ejemplo el enunciado se puede interpretar como el calculo de:
(6 + 4) + (6 + 3) + (6 + 2) + ... (6 + N)
Donde N es un entero negativo indicado por el usuario.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

ivancea96

Cita de: rir3760 en 14 Noviembre 2013, 18:06 PM
No estoy seguro porque (por desgracia usual en estos casos) la descripción del problema por parte del OP no es tan clara como uno quisiera.

Por ejemplo el enunciado se puede interpretar como el calculo de:
(6 + 4) + (6 + 3) + (6 + 2) + ... (6 + N)
Donde N es un entero negativo indicado por el usuario.

Un saludo

Eso es verdad. Deberías haber puesto :
(6 + 1) + (6 + 2) + (6 + 3) + ... (6 + N)
Si era eso lo que querías jaja

Exorcista12

Saludos a todos los que respondieron mi pregunta :)

Gracias por las ideas con esa serie, al final lo hice así miren :
Disculpen que fue algo confusa la pregunta :D

#include<iostream.h>

int main()
{
    int c,s,n,x,cont;
    cout<<"Ingrese el numero de terminos"<<endl;
    cin>>n;
   
    cont=4;
    s=0;
    for(x=1;x<=n;x++)
    {
      if(x%2==0)
      {
          if(c<0)
          cout<<cont;
          else
          cout<<"+"<<cont;
         
       s=s+cont;
       cont--;
     
      }
   
      else
      {
          if(n==1)
          cout<<"S="<<6;
          else   
          cout<<"+"<<6;
           s=s+6;
      }
}   
      cout<<"="<<s<<endl;
      system("pause");
       
}