C/Visual C - Serie numérica

 
Vista:
sin imagen de perfil

Serie numérica

Publicado por JhunZip (2 intervenciones) el 18/03/2022 16:59:36
Buenas a todos. soy nuevo en esto de programación y me gusta investigar. estuve viendo videos y leyendo foros. para resolver este problema.

//Calcular la serie z = (2+1) x (4+2) x (8+4) x (16+8) x … x (n + n/2), donde “n” es
proporcionado por el usuario.//
//Para la función que resuelve el cálculo de la serie dado un número par “n” mayor
que 0, Validar que el número “n” proporcionado por el usuario sea mayor que cero
y sea par, de lo contrario enviar un mensaje de error//

esto es lo que llevo hasta el momento pero, no logro avanzar, me tira errores

#include <stdio.h>
#include <math.h>
/*Calcular la serie z = (2+1) x (4+2) x (8+4) x (16+8) x … x (n + n/2), donde “n” es
proporcionado por el usuario.
*/

int main()
{
int R=0;
int N;
int a, b;
printf("Digita un numero PAR para iniciar la serie: ");
scanf("%i", &N);


for (a=1;a<=N;++)
{

a = b;
printf("%i", &a);
}






return 0;
}
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
sin imagen de perfil
Val: 265
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Serie numérica

Publicado por dario (82 intervenciones) el 19/03/2022 01:55:39
Esto es lo que busca.
Salu2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
/*Calcular la serie z = (2+1) x (4+2) x (8+4) x (16+8) x … x (n + n/2), donde “n” es proporcionado por el usuario.
*/
 
int main()
{
    int i,N;
    int serie=1;
 
    //Valida que el numero sea par y > 0
    do {
        printf("Digita un numero PAR para iniciar la serie: ");
        scanf("%d", &N);
    } while ((N < 0) || (N % 2 != 0));
 
    //Calcular la serie
    for (i=1; i<N; i++)
        serie = serie * (N + N / 2);
    printf("Serie %d: ",serie);
 
    return 0;
}
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
sin imagen de perfil

Serie numérica

Publicado por Yubel (2 intervenciones) el 19/03/2022 04:31:25
Gracias por su apoyo.

Funciona todo correcto. soy muy novato y sigo aprendiendo.
Disculpa si me equivoco al comentar esto. Creo que solo me faltara agregar algo como ( for(contador=0;contador<n;contador++)//siclo for, aumentara dependiendo del valor de n )
y adaptarlo para que muestre. (2+1) x (4+2) ... ect

Mil gracias de verdad me doy una idea de como resolverlo gracias a tu ayuda.
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
Imágen de perfil de cris

Serie numérica

Publicado por cris (2 intervenciones) el 03/11/2022 20:09:59
Hola amigo, no estoy seguro si la serie se está calculando correctamente dentro del bucle:

- No sé si lo tengo claro, pero la serie pide al usuario que ingrese, en este caso n, es el enésimo término de la serie, es decir, el término final.

Por lo que el for debería recorrer hasta este valor calculando la serie, que son el doble de la anterior, es decir:

Si ingresáramos:

n = 32

la serie quedaria como :

z = (2 + 1) * (4 + 2) * (8 + 4) * (16 + 8) * (32 + 16)

Por lo tanto el for de la serie deberia expresarse como :
1
2
3
4
for (i=2; i <= N; i*=2){
  19         printf("(%d + %d) * ", i, i/2);
  20         serie = serie * (i + (i / 2));
  21     }

Creo que este cambio estaría correcto :)
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