• Sábado 9 de Noviembre de 2024, 03:47

Autor Tema:  Duda con planteo del problema  (Leído 13224 veces)

tocinonaro

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Duda con planteo del problema
« en: Lunes 21 de Junio de 2010, 17:26 »
0
Tengo un problema que se plantea asi:

Calcular y visualizar la suma y el producto de los
números pares comprendidos entre 20 y 40 ambos inclusive.

Pero esta medio confuso y no se si me pide:
1_ Que muestre la suma de todos los pares entre 20 y 40 inclusive, osea (20+22+24+26+28+30+32+34+36+38+40) y ademas
el producto de todos los pares entre 20 y 40 inclusive, osea (20*22*24*26*28*30*32*34*36*38*40)
2_ Que muestre la suma de 1 de todos los pares entre 20 y 40 inclusive, osea 20 + 1, 22 + 1, etc, lo mismo con el producto.

Lo unico que tengo de ayuda es el pseudocodigo (Que lo encontre en internet de casualidad):

Citar
variables: suma(s), producto(p)
       Inicio
                s = 0
                p = 1
                x = 20
          Mientras x<= 400 hacer
            s = s +1
           p = p *x
           x = x +1
          Finmientras
             Escribir s, p
       Fin

Traducido a C:

Citar
#include <stdio.h>
main(){
int suma, producto, x;
suma = 0;
producto = 1;
x = 20;
while (x < 40){
      suma = suma + 1;
      producto = producto * x;
      x++;
}
printf("Suma %d Producto %d", suma, producto);
getche();
}

Pero nose si esta correcto saludos ;)

N3oDoc

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Duda con planteo del problema
« Respuesta #1 en: Lunes 21 de Junio de 2010, 18:17 »
0
En el código que muestras estas sumando todos los números desde el 20 al 40, es decir: 20 + 21 +22 + 23 ....+ 40
Mientras que lo que se te pide es que sumes solo los pares como bien dices al principio.
El código correcto sería el siguiente:
Código: C++
  1.  
  2. #include <iostream>
  3. using namespace std;
  4. const int MAXNUMERO = 40;
  5. int main(){
  6.    int i,suma=0,producto=1;
  7.    for(i=20;i<=MAXNUMERO;i++){
  8.       if(i % 2 == 0){ //si el resto de la división entre 2 da como resultado 0 significa que i es par
  9.          suma = suma + i;
  10.          producto = producto*i;
  11.       }
  12.    }
  13.    printf("Suma %d nProducto %d n", suma, producto);
  14.    system("pause");
  15.    return 0;
  16.  }
  17.  
  18.  

cbug

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Duda con planteo del problema
« Respuesta #2 en: Lunes 21 de Junio de 2010, 18:19 »
0
1- Intenta hacerlo con un ciclo for.
2- Fijate bien el tipo de dato de la variable producto, verás que no es el correcto.