Soma dos números pares na sequência Fibonacci

Os números de Fibonacci (Wikipedia, Wikipedia) são uma sequência definida como $F_n = F_{n-2} + F_{n-1}$. Os primeiros números são 0 e 1, e a partir deles, a sequência segue: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …. Dada a definição da sequência Fibonacci, como se calcula a soma dos números pares até $F_n < C$? A solução simples é fazer um script conforme C = 100 F_n2 = 0 F_n1 = 1 soma = 0 while True: F_n = F_n2 + F_n1 if F_n >= C: break elif F_n % 2 == 0: soma += F_n F_n2 = F_n1 F_n1 = F_n print(soma) Mas é possível fazer melhor?... [Continue lendo]

Técnicas de combinatória

Dado um conjunto $S$ qualquer com $n$ elementos, de quantas formas é possível organizar/ordenar os elementos? Quantos subconjuntos de $S$ com $k <= n$ elementos podem ser criados? Essas respostas podem ser encontradas com algumas técnicas de combinatória. Definições $ S = \text{ { A, B, C, D } } $ e $n = \lvert S \rvert = 4$ De quantas formas é possível organizar/ordenar os elementos? Resposta: A quantidade de permutações de $S$, ou seja, $n!... [Continue lendo]

Matemágica para devs

Oi, tudo certo!? Nos dias 28/07/2018 e 11/08/2018 eu apresentei duas palestras sobre matemática com foco em conceitos úteis para desenvolvedores de software. O conteúdo está disponível no GitHub. De forma geral, vimos: Conceitos fundamentais da álgebra; Distribuições e os conceitos de média, moda, mediana e desvio padrão na estatística; Matrizes, vetores e norms na álgebra linear; Funções, derivadas e otimização com cálculo. A ideia era aproximar esses conceitos com Python e bibliotecas que facilitam essas operações.... [Continue lendo]