Anterior Proxima

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

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]: Por enquanto não fatora números negativos. Obs[2]: É possível ainda um teste que reduz o número de repetições do while da sub-rotina.

Por: Perfil removido


Usuário Samba + LDAP alterando sua senha pelo browser

Estava com dificuldades sobre isso, muitos usuários que usam GNU/Linux sentiam a necessidade de trocar sua senhas, mas vinham até a mim, que efetuava a alteração manualmente. Pesquisei na net por vários dias e não encontrava uma solução, então encontrei um script em PHP que faz a troca de senha do usuário LDAP de uma rede implantada com Samba. Fiz as modificações e adequei à minha necessidade. Segue o script. Para que ele funcione deve-se editar os seguintes parâmetros: $server $port $dn Instalar o sudo e dentro do /etc/sudoers adicionar as seguintes linhas: %sudo ALL=(ALL) ALL www-data ALL=(ALL)NOPASSWD: /usr/sbin/smbldap-passwd

Por: richard giovanni jose bergonzi


Conversão em massa de arquivos .wav para .mp3

O script a seguir converte todos os arquivos .wav do diretório atual para o formato .mp3. Requer o lame instalado.

Por: Luís Fernando C. Cavalheiro


Instalador de programas essenciais para seu desktop Ubuntu 12.04

Script em YAD para deixar o seu Ubuntu 12.04 redondo! Trata-se de uma interface simples para instalar programas essenciais para uso cotidiano em seu desktop.

Por: Daniel Lara Souza


Função "Partição de Inteiros" Recursiva SEM Tabela Estática em C

De quantos modos diferentes pode-se escrever 6 como soma de números maiores que zero? 6 = 5+1 = 4+2 = 3+3 = 4+1+1 = 3+2+1 = 2+2+2 = 3+1+1+1 = 2+2+1+1 = 2+1+1+1+1 = 1+1+1+1+1+1 11 modos diferentes. p(6) = 11. O cálculo do número de partições de um inteiro usa uma recursão bem mais demorada que a dos números de Fibonacci ou a fatorial. Este exemplo usa a recursão pura e simples sem armazenar os valores já calculados, necessitando de um novo cálculo a cada chamada. Isto porque pelo método de recursão, ela pode ter a necessidade de calcular valores anteriormente calculados. Quanto maior o valor requerido, maior o tempo. Quem não tiver saco de esperar a eternidade de cálculo para os valores deste código, sugiro modificar para um tempo que não seja tão cansativa a demora. Parte dos resultados pode ser conferida neste link: http://oeis.org/A000041

Por: Perfil removido


Clonar DVD pelo terminal

Resolvi montar este script que usa o dd e o growisofs para agilizar o processo de gravação de CDs. Modo de uso (no diretório corrente do script): ./gravaDVDtoDVD [velocidade 1 a 8 ] Modo de operação: - define variável para velocidade - define variável do ISO temporário - gera imagem ISO com o DD para o temp - ejeta a mídia - exibe aviso reposição mídia virgem - grava ISO em mídia - remove ISO temporário - ejeta mídia gravada Obs.: A variável TMPZ é igual a "/tmp/$(echo $$).iso", que na verdade é o caminho para o diretório /tmp + o pid do script, que neste caso é obtido pelo comando $(echo $$). Boa dica para quem precisa criar arquivo temporário para um script! Testado nos sistemas Centos 6.2, Centos 5.5, Ubuntu 10.4 e Debian 5.4. Façam bom uso. Espero ter ajudado! by Roberto Fettuccia

Por: Roberto Fettuccia


CPU e memória em C no GNU/Linux

O programa pega informações de CPU e memória do Linux.

Por: euteste da silva


Obter lista de cidades do IBGE

Script com objetivo simples: baixar lista de cidades do site do IBGE, com nome, população e área. Devem existir melhores maneiras de se fazer isso, mas é uma forma de praticar e aprender Shell Script com o uso de arrays ;-) O script gera arquivos com comandos SQL permitindo que possam ser usados para importar em qualquer banco de dados.

Por: Raimundo Alves Portela



Anterior Proxima



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts