Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Este programa calcula e imprime en pantalla los 100 primeros números primos (no los números primos entre 0 y 100).
- */
- #include <iostream>
- using namespace std;
- // num es el número que vamos a ir aumentando y que se determinará si es primo. Inicia en 2 porque es el primer primo.
- int num = 2, divisor, contador;
- // esta función determina si el número es primo o no, con lo que necesitemos que devuelva un valor 'true' o 'false'
- bool esPrimo( int num );
- int main()
- {
- // queremos que el código se ejecute 100 veces
- for ( contador = 0 ; contador < 100 ; ){
- // si el número es primo...
- if ( esPrimo( num ) == true ){
- // ...lo imprime en pantalla; "\n" es para que no se junten todos los números.
- cout<< num <<"\n";
- // ...el contador sólo aumenta si el número es primo.
- contador++;
- // ...aumenta el número, si no se quedaría en 2 eternamente.
- ++num;
- }
- else {
- ++num;
- divisor = 2;
- }
- }
- }
- bool esPrimo ( int num )
- {
- // 2 es el primer primo, con lo que tenemos que imprimirlo.
- if ( num == 2 ){
- return 1;
- }
- else {
- // dividimos por el siguiente entero más grande que 1 (que no nos sirve porque ya sabemos que n%1 == 0).
- divisor = 2;
- // mientras divisor sea menor que el número (dividido por sí mismo cualquier número da 0 de resto)...
- while ( divisor < num ){
- // si el resto no es 0, el número por el momento no es primo, así que seguimos aumentando el divisor.
- if ( num % divisor != 0 ){
- ++divisor;
- }
- // si el resto es 0, el número no es primo.
- else return 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement