quarta-feira, 2 de novembro de 2016

Primos e não primos no terminal

Exibindo números primos e não primos entre um e cem,
e a quantidade de primos e não primos
e o maior e o menor primo
e o maior e o menor não primo

public class PROJETO {
     public static void main ( String [ ] args ) {
          int n = 100;
          int i, a = 0, b = 0, c = 0, j = 0, q = 0, r = 0;
          int Vet[] = new int [ n ];
          int Vet_1[] = new int [ n ];
          int Vet_2[] = new int [ n ];
          int menor = 0, maior = 0;
          System.out.printf (
                     "Imprimindo abaixo o vetor de primos e não primos\n\n" );
          for ( i = 2; i <= n; i++ ) {
                int ePrimo = 1;
                for ( j = 2; j <= i / 2; j++ ) {
                     if ( i % j == 0 ) {
                          ePrimo = 0;
                          break;
                     }
                }
                if ( ePrimo == 1 ) {
                     a++;
                     Vet [ a ] = i;
                     Vet_1 [ b ] = Vet [ a ];
                     b++;
                     q += ePrimo;
                     System.out.printf ( " %3d ", Vet [ a ] );
                }
                if ( ePrimo == 0 ) {
                     ePrimo = 1;
                     a++;
                     Vet [ a ] = i;
                     Vet_2 [ c ] = Vet [ a ];
                     c++;
                     r += ePrimo;
                     // System.out.printf ( " %3d ", Vet [ a ] );
                }
          }
          menor = Vet_1 [ 0 ];
          for ( i = 0; i < q; i++ ) {
                System.out.printf ( " %3d ", Vet_1 [ i ] );
                if ( Vet_1 [ i ] < menor )
                     menor = Vet_1 [ i ];
                if ( Vet_1 [ i ] > maior )
                     maior = Vet_1 [ i ];
          }
          System.out.printf ( "\n\nQuantidade de números primos %d", q );
          System.out.printf ( "\nQuantidade de números não primos %d", r );
          System.out.printf ( "\n\nO menor número primo é %d", menor );
          System.out.printf ( "\nO maior número primo é %d\n\n", maior );
          menor = Vet_2 [ 0 ];
          for ( i = 0; i < r; i++ ) {
                System.out.printf ( " %3d ", Vet_2 [ i ] );
                if ( Vet_2 [ i ] < menor )
                     menor = Vet_2 [ i ];
                if ( Vet_2 [ i ] > maior )
                     maior = Vet_2 [ i ];
          }
          System.out.printf ( "\n\nO menor número não primo é %d", menor );
          System.out.printf ( "\nO maior número não primo é %d", maior );
     }
}


Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.