sábado, 15 de agosto de 2015

Decompondo em fatores primos

Fatorar é o mesmo que decompor o número em fatores primos,
isto é, escrever um número através da multiplicação de números primos. 

Na fatoração utilizamos os números primos obedecendo
a uma ordem crescente de acordo com as regras de
divisibilidade em razão do termo a ser fatorado.
Números primos são aqueles que podem ser divididos
somente por um e por ele mesmo.
Observe a decomposição em fatores primos dos números a seguir:


24 = 2 x 2 x 2 x 3
10 = 2 x 5
52 = 2 x 2 x 13
112 = 2 x 2 x 2 x 2 x 7
600 = 2 x 2 x 2 x 3 x 5 x 5

Se quiser saber mais sobre o assunto é só acessar o link abaixo:

http://www.mundoeducacao.com/matematica/fatoracao-numerica.htm

Foi partindo destas lógicas que implementei facilmente
este programa em linguagem C que decompõe
determinados números inserido pelo usuário em fatores primos.
Breve descrição do funcionamento:
Um número é solicitado e inserido pelo usuário,
e após a impressão do mesmo, é passado como parâmetro
para a função fatorando();onde um ciclo while();
se encarrega de o dividir em fatores primos,
más se o número inserido for um número primo,
o programa o imprime e mostra uma mensagem
dizendo que o tal número é primo.

Veja abaixo imagens do programa em execução:



 


Veja abaixo o código do programa:

#include <stdio.h>
#include <conio.h>
void Janela5 ( ) {
    int lin, col;
    col = 0;
    for ( lin = 2; lin <= 24; lin++ )
         for ( col = 2; col <= 78; col++ ) {
             gotoxy ( col, lin );
             textbackground ( LIGHTGRAY );
             printf ( " " );
         }
}

int fatorando ( unsigned long long int n ) {
    int d = 2;
    textcolor ( LIGHTBLUE );
    gotoxy ( 25, 9 );
    printf ( "Número " );
    textcolor ( BLACK );
    printf ( "%llu", n );
    gotoxy ( 25, 11 );
    textcolor ( LIGHTBLUE );
    printf ( " decomposto: ==> " );
    textcolor ( BLACK );
    while ( n != 1 ) {
         if ( !( n % d ) ) {
             printf ( " %d ", d );
             n /= d;
         } else
             d++;
    }
    Sleep ( 1800 );
    return ( d );
}
int main ( ) {
    unsigned long long int a = 0;
    unsigned long long int n;
    system ( "title DECOMPONDO EM FATORES PRIMOS" );
    system ( "cls" );
    system ( "Color 90" );
    Janela5 ( );
    textcolor ( LIGHTRED );
    gotoxy ( 29, 3 );
    printf ( "DECOMPONDO EM FATORES PRIMOS" );
    textcolor ( LIGHTBLUE );
    gotoxy ( 25, 5 );
    printf ( "Digite um número: " );
    textcolor ( BLACK );
    scanf ( "%llu", &n );
    textcolor ( LIGHTBLUE );
    gotoxy ( 25, 7 );
    printf ( "Número digitado: ==> " );
    textcolor ( BLACK );
    printf ( "%llu", n );
    a = fatorando ( n );
    if ( a == n ) {
         textcolor ( LIGHTBLUE );
         gotoxy ( 25, 11 );
         printf ( "O Número " );
         textcolor ( BLACK );
         printf ( "%llu ", a );
         textcolor ( LIGHTBLUE );
         printf ( "é primo" );
    }
    textcolor ( LIGHTRED );
    gotoxy ( 36, 23 );
    printf ( "MUITO OBRIGADO" );
    getche ( );
    exit ( 0 );
}

Nenhum comentário:

Postar um comentário

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