Algoritmo de Fatoração de Fermat (FFA) em Perl

FFA: Fermat Factoring Algorithm (Algoritmo de Fatoração de Fermat) Método de fatoração inventado por Pierre de Fermat: Todo numero pode ser escrito como diferença de dois números elevados ao quadrado: n = a² - b², ou n = a*a - b*b; Esta expressão pode ser escrita como n = (a+b) * (a-b), ou n = (a+b) (a-b), onde a soma e a subtração dos valores "a" e "b" são dois fatores do número em questão. Se n é primo, então a-b = 1 e a+b=n; Para números com diversos fatores e divisores existem diversos "a" e "b" que satisfazem a expressão. Este algoritmo testa em progressão diversos valores "b" em "i + j*j", ou i + j², com i=n no primeiro passo. Se i + j*j for um quadrado perfeito, então calcula-se com base nisto os correspondentes a e b da expressão anterior, tendo-se então encontrado um fator. Fator este que não é necessariamente um número primo. Este programa trabalha com os fatores sendo escritos em uma lista, sendo pegos um a um até o final. A função de fatoração retorna uma estrutura com um par de números que se multiplicados retornam o valor de entrada, ordenados em maior e menor. No retorno, a parcela menor substitui a posição do elemento pego anteriormente e a parcela maior é inserida ao fim da lista principal. Quando o valor menor do par é um, o valor maior é um número primo, então continua-se com o próximo elemento da lista principal, encerrando-se ao último elemento. Por último, a lista de fatores é ordenada para apresentação. Obs[1]: Ainda é possível melhorá-lo. Obs[2]: Números negativos são desconsiderados para simplificação. Por enquanto.

Por: Perfil removido


Removendo carácter especial de arquivos recursivamente

Removendo carácter especial de arquivos recursivamente # vi /usr/local/sbin/renomeiarq.sh # chmod 770 /usr/local/sbin/renomeiarq.sh Executando o script # renomeiarq.sh /diretori/a/ser/executadorecursivamente

Por: Perfil removido


Identificador de Browser

Esse script básico é um dos primeiros que eu faço por isso sejam gentis rsrs... é bom pra quem esta iniciando estudar os comandos if,else if e else (:

Por: Perfil removido


Crivo de Eratóstenes Simples em C

Crivo simples. Valores devem ser ajustados. Obs[1]: Dependendo do compilador, sistema ou memória disponível, corrigir para não haver overflows. Obs[2]: O tamanho do crivo pode ser calculado exato e quase exato, dependendo do limite colocado. Obs[3]: Quem puder testar e fazer "benchmark" com valores elevados e sistemas mínimos, máquinas virtuais etc. eu agradeceria.

Por: Perfil removido


"Clear Screen" para Linux x86 com Inline Assembly (embutido no código) em C

Esta função dentro deste código realiza o mítico "clear screen" em ANSI C. Uma chamada de interrupção de kernel para imprimir uma sequência de escape de terminal que limpe o código. Nenhum segredo para compilar. Apenas uso simples do GCC.

Por: Perfil removido






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts