Dev - C++ - Primos

 
Vista:

Primos

Publicado por Margarita (1 intervención) el 08/04/2005 09:26:34
Hola a todos!!
He descubierto esta comunidad de programadores, por lo cual me atrevo a dejar este mensaje, apenas estoy empezando a utilizar el c++, por lo que necesito de su ayuda.

Me han dejado dos problemas de tarea, pero tengo una duda, esto es lo que he anvanzado:

1.- Elabora un programa para mostrar los primeros n numeros impares.

#include <stdio.h>
main()
{
int i, n;
printf ("dame la cantidad de numeros impares que deseas calcular");
scanf ("%d", &n);
for (i=1; i<n; i=i+2);

Despues de ahi, ya no se que sigue, alguien por ahi me comento que se podia hacer con un while, pero me gustaria que me explicaran como es esa onda.

2. Elabora un programa donde se lean dos numeros enteros y mostrar en pantalla todos los numeros primos entre este rango de datos.
Esto es lo que he avanzado:

#include <stdio.h>
main ()
{
int x, y, n;
printf ("dame el primer numero");
scanf ("%d", &x);
printf ("dame el segundo numero");
scanf ("%d", &y);

Hasta ahí llegue, por que no se como declarar para que el programa lea los numeros primos que hay entre los dos numeros.

Bueno, eso es todo, y les agradeceria un monton que pudieran ayudarme.

margarita
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

RE:Primos

Publicado por Vigarus (3 intervenciones) el 10/05/2005 17:30:31
Hola Margarita, respecto al primer programa....
for (i=1; i<n; i=i+2); diría que aunque es correcto no debes ir de 2 en 2, generaliza piensa que entre el 5 y el 7 pueda haber un impar, aunque no lo haya. Pero eso te evitará generar futuros errores por confiarte.
Yo lo haría de la siguiente manera.

for (i=0; i<n; i++)
{
if (imod2!=0)
printf("%d",i);
}

en cada pasada comprueba si el resto de i / 2 es 0, si es distinto es impar. Perdona si he cometido faltas en la sintaxis, pero hace años que no toco C, y te acostumbras a lo que manejas.

Respeto al segundo es más de lo mismo, piensa que en la programación es meramente matemática.

for(i=x; i<y;i++)
{
for(j=2;j<i;j++)
{
if(imodj==0)
break;
else
{
if(j==i-1)
printf("%d es un número primo",j);
}
}

}

Bueno espero que te sirva de algo, pero acabo de darme cuenta que hace más de un més que escribistes. Bueno ya que está escrito te lo envio, saludos y si tienes alguna duda más no dudes en escribir, que siempre hay alguien que contesta.
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

RE:Primos

Publicado por Yensi Vega (2 intervenciones) el 11/05/2005 12:39:01
amigo vigarus, me parece bien la idea de generalizar los problemas, yo trato siempre de hacer eso, aunque hay veces que tenemos que ir de lo particular a lo general, pero en fin, no me parece tu ejemplo de que puede existir un numero impar entre 5 y 7 no es bueno que confundamos asi.
Y tienes razon cuando dices que la programacion es matematica y tu respuesta para la segunda es acertada, excepto por el operador mod que en C es el simbolo de porcentaje %.

pero me parece mas mas ilustrativa

for (i=1; i<=n; i++){
impar = 2*i - 1;
printf("%d \n",impar);
}

debido a que matematicamente se define al conjuto
Impar = {2*n -1; para todo n que pertenece a los naturales}

espero haber contribuido tambien ;)
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