01 02

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


Uso de if em Ruby (2)

Simples uso do if em Ruby, só que dessa vez, um código "melhorzinho".

Por: André


Controle de maior e menor de idade em Ruby

Controle de maior/menor de idade para entrar em uma festa, escrito em Ruby. Faz uso de if / else.

Por: André


Uso simples de if e else em Ruby

Código bem básico que mostra o simples uso de um if e um else em Ruby.

Por: André


Agenda telefônica em Ruby que grava os dados em um txt

Perdi um tempinho hoje de bobeira fazendo esse script em Ruby que grava os dados: - nome - data de nascimento - profissão - email e envia tudo para um arquivo chamado dados.txt, que é criado no mesmo diretório. Também comentei o código inteiro para que todos possam entender.

Por: André


Exportar endereços do Evolution para vCard

O Evolution armazena os seus endereços em um arquivo de banco de dados Berkeley DB. Este script demonstra como é possível ler este tipo de arquivo com o Ruby para exportar os endereços para vCard. Permite exportar os endereços para vCard, que pode ser importado por uma grande variedade de programas. Procedimento alternativo para quando o Evolution não estiver disponível. Requer a biblioteca "libdb-ruby1.8" (Ubuntu) ou similar, que pode ser obtida em: http://moulon.inra.fr/ruby/bdb.html

Por: Felipe Rafailov



01 02