You are on page 1of 5

ALGORITMO primos1 ENTRADAS: n: ENTERO (* Valor lmite *) SALIDAS: numero: ENTERO VARIABLES divisor: ENTERO INICIO ESCRIBIR "Hasta

qu nmero desea conocer los primos?" ESCRIBIR SaltoDeLinea ESCRIBIR "Introduzca el valor: " LEER n PARA numero<--2 HASTA n HACER esPrimo<--1 (* numero es primo *) divisor<--2 MIENTRAS divisor<=RAIZ(numero) Y esPrimo=1 HACER SI (numero MOD divisor) = 0 ENTONCES esPrimo<--0; FIN_SI FIN_MIENTRAS SI esPrimo=1 ENTONCES ESCRIBIR numero ESCRIBIR SaltoDeLinea FIN_SI FIN_PARA FIN

Problema Calcular los n primeros nmeros primos. Solucin Ingresamos un nmero decimal donde se indica la cantidad de nmeros primos que se desea obtener Ejemplo

Entrada: 5 Salida: 2 3 5 7 11

Creamos un objeto de entrada para capturar la cantidad de nmeros primos que se desea mostrar dicho valor se captura en la variable num . Comparamos si num es mayor a dos (num>2) Si es Falso (No) Comparamos si num es mayor a cero (num>0) Si es Falso (No) Muestra un mensaje solicitando ingresar un numero positivo o mayor a cero

Si es Verdadero (Si) Comparamos si num es igual a 1 (num=1) esto nos indica que solo queremos el primer nmero primo Si es Verdadero (Si) Nos muestra el primer nmero primo que es 2 Si es Falso (No) Mostrara los dos primeros nmeros primos 2 y 3

Si es Verdadero (Si) Mostramos como salida 2 y 3 que son los primeros nmeros primos Luego inicializamos la variable con en 2 y n en 4, creamos un While con condicin cont < num esto nos permitir recorrer los nmeros del 3 hasta el numero ingresado. Inicializamos i con 2, creamos otro ciclo while con condicin i<=n, el propsito del while aqu verificamos si el numero va ser primo o no. Verificamos si i es igual n (i=n) Si es Falso (No) Verificamos si n MOD i = 0 nos permite determinar si i es divisor de n Si es Verdadero (Si) Asignamos a i el valor de n para salir del ciclo Si es Falso (No) Salimos del ciclo Si es Verdadero (Si) El nmero es primo y se muestra en la salida Actualizamos el contador sumando 1 Salimos del ciclo incrementado el valor de i en 1 Salimos del ciclo incrementando el valor de n en 1

Problema Calcular los n primeros nmeros primos Solucin Ingresamos un nmero decimal donde se indica la cantidad de nmeros primos que se desea obtener Ejemplo

Entrada: 5 Salida: 2 3 5 7 11

Codigo Fuente en C++


view plainprint?

1.

#include <iostream>

2. 3. 4. 5. 6. 7. 8. 9. 10.

#include <string> #include <sstream> using namespace std; string convertir(int a){ stringstream buf; string res; buf<<a; res=buf.str(); return res;

11. } 12. int main(){ 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. } cout<<cad; }else{ } n=n+1; } } i=i+1; int num,i,n=4,cont=2; string cad = ""; cout<<"ingrese un numero"<<endl; cin>>num; if(num>2){ cad="2 - 3"; while(cont<num){ i=2; while(i<=n){ if(i==n){ cad=cad+" - "+convertir(n); cont=cont+1; }else{ if(n%i==0){ i=n;

36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. }

if(num>0){ if(num==1){ cout<<"es primo 2"; }else{ cout<<"es primo 2, 3"; } }else{ cout<<"ingrese numeros positivos"; } } return 0;

You might also like