Decomposição em fatores primos
Publicado por Enzo de Brito Ferber 28/03/2009
[ Hits: 17.161 ]
Homepage: http://www.maximasonorizacao.com.br
Sim, eu tenho outro script desse aqui no VOL, mas esse está bem melhor (mais compacto e rapido).
Outra coisa, o código está em inglês como sempre, pois este site não é o unico que publico (e o ingles é a linguagem internacional da informática).
Então, happy coding!
// primes.c /* Enzo Ferber : <enzo@veloxmail.com.br> * * Decompose into Prime Factors a given number * * march 27 2009 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define START 2 // used by the main() function to print the factors int control; /* decom ( num ) * * @ num: number to decompose * * @ Return: return an int* containing all the prime factors */ int *decom ( int num ) { // ... register int i; int *primes = (int *) malloc ( sizeof (int) ); // Houston, we have a problem! if ( !primes ) exit (0); // set control variable control = 1; // START represents the first prime number, 2 for ( i = START; i <= num || num != 1 ; i++ ) { // ensures just an exact division while ( (num % i) == 0) { // I WANT MORE MEMORY, BITCH!!! primes = (int *) realloc ( primes, control * sizeof (int)); // Houston, we have a problem! if ( !primes) exit (0); // put the current prime factor into the list primes[control - 1] = i; control++; // set new number to be divided next num = num / i; } } // return the prime list return primes; } int main ( int argc, char **argv ) { // check for the correct argument if ( argc != 2 ) { // HowTo use a very complex program... printf ( "Usage: %s <number>\n", argv[0] ); return 0; } // begin the program if the arguments are correct register int i; // call the function to decompose into prime factors int *primes = decom ( atoi(argv[1]) ); // print prime list for ( i = 0; i < control - 1; i++ ) printf ( "%3d: %d\n", i + 1, primes[i] ); // free the memory free ( primes ); return 0; }
Simples gerador de números primos
Validar CPF em C++ (esse funciona)
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)