sexta-feira, 25 de setembro de 2015

Matriz de primos e não primos

Na formação do conjunto dos números Naturais existe um tipo de numeral que possui a propriedade de ser divisível somente por um e por ele mesmo, recebendo a denominação de número primo. A descoberta dos números primos é imprescindível na Matemática, pois eles intitulam o princípio central na teoria dos números, consistindo no Teorema Fundamental da Aritmética. Esse Teorema satisfaz uma condição interessante no conjunto dos números naturais, ele afirma que todo número inteiro natural, sendo maior que 1, pode ser escrito como um produto de números primos, enfatizando a hipótese que o número 1 não pode ser considerado primo, pois ele tem apenas um divisor e não pode ser escrito na forma de produto de números primos.
Quer saber mais detalhes sobre o assunto acesse o seguinte link
de onde foi extraìdo partes do texto:

http://www.brasilescola.com/matematica/numeros-primos.htm

Más minha paixão é linguagem c, e o propósito deste trabalho é
de ensinar os iniciantes em c criarem uma tabela de 1 a 100 e
marcar na própria tabela as ocorrências dos números primos e
não primos em côres destacadas veja na imagem abaixo:


Veja abaixo o código do programa:

#include <stdio.h>
#include <conio.h>
#define tam 10
void Janela5 ( ) {
     int n, c;
     c = 0;
     system ( "Color 00" );
     for ( n = 2; n <= 24; n++ )
         for ( c = 2; c <= 78; c++ ) {
              gotoxy ( c, n );
              textbackground ( WHITE );
              printf ( " " );
         }
}
int main ( ) {
     system ( "title MATRIZ DE PRIMOS E NÃO PRIMOS" );
     Janela5 ( );
     int i, j = 0, cont = 0;
     int **V;
     V = ( int** ) malloc ( 10 * sizeof(int**) );
     textcolor ( LIGHTRED );
     gotoxy ( 28, 3 );
     printf ( "MATRIZ DE PRIMOS E NÃO PRIMOS" );
     textcolor ( LIGHTBLUE );
     gotoxy ( 18, 5 );
     printf ( "Imprimindo abaixo a matriz de primos e não primos" );
     for ( i = 0; i < tam - 1; i++ ) {
         V [ i ] = ( int* ) malloc ( 10 * sizeof(int*) );
         gotoxy ( 18, i + 8 );
         for ( j = 0; j < tam - 1; j++ ) {
              cont++;
              V [ i ] [ j ] = cont;
              printf ( " %3d ", V [ i ] [ j ] );
         }
     }
     gotoxy ( 22, 7 );
     for ( i = 2; i <= 100; i++ ) {
         if ( i == 11 ) {
              gotoxy ( 17, 8 );
         }
         if ( i == 21 ) {
              gotoxy ( 17, 9 );
         }
         if ( i == 31 ) {
              gotoxy ( 17, 10 );
         }
         if ( i == 41 ) {
              gotoxy ( 17, 11 );
         }
         if ( i == 51 ) {
              gotoxy ( 17, 12 );
         }
         if ( i == 61 ) {
              gotoxy ( 17, 13 );
         }
         if ( i == 71 ) {
              gotoxy ( 17, 14 );
         }
         if ( i == 81 ) {
              gotoxy ( 17, 15 );
         }
         if ( i == 91 ) {
              gotoxy ( 17, 16 );
         }
         int ePrimo = 1;
         for ( j = 2; j <= i / 2; j++ ) {
              if ( i % j == 0 ) {
                   ePrimo = 0;
                   break;
              }
         }
         if ( ePrimo == 1 ) {
              textcolor ( LIGHTRED );
              printf ( " %3d ", i );
         }
         for ( j = 2; j <= i / 2; j++ ) {
              if ( i % j == 0 ) {
                   ePrimo = 0;
                   break;
              }
         }
         if ( ePrimo == 0 ) {
              textcolor ( LIGHTBLUE );
              printf ( " %3d ", i );
         }
     }
     textcolor ( LIGHTBLUE );
     gotoxy ( 13, 19 );
     printf ( "Em vermelho os números primos entre " );
     textcolor ( LIGHTRED );
     printf ( "1 " );
     textcolor ( LIGHTBLUE );
     printf ( "e " );
     textcolor ( LIGHTRED );
     printf ( "100" );
     textcolor ( LIGHTBLUE );
     gotoxy ( 13, 20 );
     printf ( "Em azul os números não primos entre " );
     textcolor ( LIGHTRED );
     printf ( "1 " );
     textcolor ( LIGHTBLUE );
     printf ( "e " );
     textcolor ( LIGHTRED );
     printf ( "100" );
     Sleep ( 1000 );
     textcolor ( LIGHTRED );
     gotoxy ( 36, 23 );
     printf ( "MUITO OBRIGADO" );
     getche ( );
     return ( 0 );
}

Nenhum comentário:

Postar um comentário

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