O vídeo do Numberphile que me enganou, por pouco tempo

Antes de começar, um aviso. Este post é longo contém bastante matemática. Nada muito complexo, mas uma quantidade grande. Se você é sensível, não continue a ler. 🙂

Muitos devem conhecer o canal do Youtube chamado Numberphile que tem vídeos quase semanais sobre os mais diversos assuntos relacionados à Matemática. Se você ainda não conhece e gosta de matemática, recomendo que dê uma olhada. São vídeos interessantes e muito bem feitos. Aqui no blog já comentamos sobre ele algumas vezes.

Muitas vezes quem apresenta os vídeos é algum professor de matemática, mas muitas vezes também, quem o faz é algum professor de física. Este é o caso do vídeo desta semana. Foi apresentado por dois simpáticos professores do depto. de Física da Universidade de Nottingham, Ed Copeland and Tony Padilla.

O vídeo desta semana, e o vídeo relacionado com as cenas extras, renderam um caso curioso. No primeiro momento, ontem, logo depois de assistir aos dois vídeos, achei o assunto incrível. Até dei “joinha” nos dois vídeos. Mandei uma mensagem para o Pedro Paulo assim: “O segundo vídeo dessa semana do Numberphile está excelente.” e ele respondeu, “vou ver”. Mas não viu.

Fiquei pensando no assunto. Estava com uma pulga atrás da orelha (um monte de pulgas, pelo visto). Hoje insisti com o Pedro Paulo que visse o vídeo para poder discutir o assunto com mais alguém. Até que ele viu hoje. Depois de assistir ao vídeo, ele confirmou o que eu desconfiava. Tem angu nesse caroço (ou seria ao contrário?)…

Continuar lendo O vídeo do Numberphile que me enganou, por pouco tempo

Cinco filmes sobre matemática que você deve ver.

Um dos posts mais populares do Zeletron é o dos cinco filmes que os amantes da tecnologia devem ver, e agora faço uma compilação pessoal do top5 em termos de matemática para você ter algo para ver hoje a noite 🙂

5) Moneyball (2011) – O homem que mudou o jogo
Usar estatística para vencer uma campeonato de Baseball? Não qualquer campeonato de baseball, mas a MLB. O treinador Billy Beane assume um risco ao contratar o matemático Peter Brand como seu assistente e aplicar um método matemático num esporte que sempre foi dominado por olheiros e pessoas com intuição. Será que o Oaklands A vai se sair bem com isto?

Grande filme e ótimo elenco.

4) I.Q. (1994) – A fórmula do amor

Um filme com Albert Einstein, Kurt Gödel e Boris Podolski, três gênios, que não conseguem trocar uma lâmpada. Este pode ser um breve descritivo para esta bela comédia romântica com Tim Hobbins e Meg Ryan. Não é 100% sobre matemática, mas vai fazer você se divertir.

3) 21 (2008) – Quebrando a banca
Baseado na história real de alguns estudantes do MIT que usando técnicas estatísticas, encontraram uma maneira de ganhar dinheiro no único jogo que apresenta uma fragilidade para os cassinos, o Black Jack ou 21. Baseado no livro “Bringing down the house”.

Eu conheci uma pessoa do MIT que disse que este esquema segue até hoje e que ele tinha participado dele durante algum tempo e que o filme é bem realista.

2) A Beautiful Mind (2001) – Uma mente brilhante

A vida do matemático, prêmio nobel de economia e desequilibrado mentalmente por uma grave doença, John Nash. Ganhador de Oscars e espetacularmente produzido é além disso uma história real.

A idéia de escrever no vidro com caneta de retroprojetor eu adotei desde aquela época para o desespero do pessoal da limpeza do trabalho.

1) Good Will Hunting (1997) – Gênio indomável

Matt Damon e Robin Williams fazem desta história, que mostra um rapaz genial que trabalhava como faxineiro no MIT, um dos grandes vencedores do Oscar. Há o lado humano, do rapaz que é genial, mas problemático que dá o grande toque de qualidade no filme. O seriado do Youtube Numberphile tem um episódio sobre a solução do problema do filme.

Gênio Indomável
Você sentiu falta de algum nesta lista?

Sugestão de Leitura: Prime Obsession

Existem livros que apesar de falarem de coisas bastante sofisticadas são muito agradáveis de ler e Prime Obsession é um deles.

Neste livro, John Derbyshare, conta a saga inacabada da busca do que é talvez o maior problema aberto na matemática e para o qual há um prêmio de US$ 1.000.000,00 para quem resolver: a Hipótese de Riemann.

Eu confesso que antes de ler o livro sabia muito pouca coisa sobre a Hipótese de Riemann (HR), mas o autor consegue com muita didática ir conduzindo o leitor passo a passo pelos labirintos matemáticos para que qualquer pessoa, ainda que sem formação matemática possa compreender a natureza do problema.

A HR diz que a função zeta de Riemann tem todos os zeros não triviais com parte inteira igual a 1/2.

E eu com isso, poderia dizer o leitor. A hipótese de Riemann além de ser uma excelente ferramenta para entender o comportamento dos números primos é o fundamento de muitas descobertas matemáticas, prová-las significa provar muitas outras coisas em consequência e refutá-la significa derrubar por terra vários outros resultados.

Além de agradável leitura, Prime Obsession leva o leitor a descobrir a era romântica da matemática, saindo de Leonard Euler, passando por Gauss, Riemann e vários gigantes que revolucionaram o campo nos séculos XVIII, XIX e XX.

Se você quiser dar um voto de confiança para este escriba aqui, leia este livro. Garanto que não se arrependerá.

Na Amazon: Prime Obsession: Bernhard Riemann and the Greatest Unsolved Problem in Mathematics

Na Livraria Cultura: Prime Obsession

Prime Obsession: Resenha

 

NOTA: A função zeta de Riemann é:

ζ(s) = 1 + 1/2s + 1/3s + 1/4s + ..

Primos na Espiral de Ulam

Uma das razões dos números primos serem tão legais se deve ao fato deles se comportarem de forma estranha. Eles parecem aleatórios.

Algumas vezes você tem longos espaços entre dois números primos e, de repente, como os ônibus, vêm dois de uma vez só. No entanto, no fundo no fundo, eles não são completamente aleatórios.

Um matemático Polonês chamado Stanislaw Ulam, que foi para os EUA pouco antes da Segunda Guerra Mundial, estava, depois da guerra, em 1963, assistindo uma apresentação de um trabalho chatíssimo e longo com um papel e uma caneta na mão e resolveu fazer a seguinte brincadeira para se distrair:

No centro do papel colocou o número 1 e foi fazendo uma espiral quadrada com a sequência, conforme a figura abaixo:
ulam1

Depois disso, começou a circular os números primos nesta espiral, conforme a figura a seguir:
ulam2

Ele ficou surpreso pelo fato dos números primos caírem em diagonais. Como todos os números primos, exceto o 2, são números ímpares e como as diagonais nesta espiral alternam entre pares e ímpares, não é surpresa que os números caiam em diagonais alternadas, mas que algumas diagonais tenham mais primos do que outras.

Pouco tempo depois ele resolveu fazer um programa usando o computador MANIAC II para imprimir pixels nos pontos primos (exatamente como eu fiz em vermelho no excel) e conseguiu fazer uma imagem com os números até 65.025 (255 x 255).

Aqui abro um parêntese para falar do MANIAC II.

Ele era um computador criado em 1957 com 4096 words de 48bits (24kbytes) de memória RAM em Magnetic-core Memory e 12288 words de 48bits (576kbytes) em Williams tubes. Em média, uma multiplicação neste computador demorava 180 microsegundos e uma divisão 300 microsegundos. Uma verdadeira eternidade para os tempos de hoje.

Voltando à espiral do Ulam, o que ele conseguiu com a impressão da matriz de 255 x 255 de pixels foi a confirmação do que ele havia visto com 100 números. Realmente há um padrão no qual os números primos aparecem em diagonais, com intervalos, é claro, e algumas diagonais parecem ter mais primos do que outras.

ulam-255x255

Todas as linhas nesta espiral obedecem à seguinte equação quadrática: 4x^2+bx+c

Por exemplo, a diagonal que começa no número 3 tem a seguinte equação: 4x^2-2x+1
3, 13, 31, 57, 91, … (Confira na imagem acima)

Na prática, há uma hipótese de que estas diagonais podem servir para procurarmos números primos grandes, já que algumas diagonais têm mais primos do que outras diagonais. Melhor dizendo, algumas equações quadráticas têm mais chance de retornar números primos do que outras.

Um exemplo de diagonal com 40 números primos em sequência é a seguinte: x^2-x+41 que gera a seguinte sequência de 40 números primos:

41, 43, 47, 53, 61, 71, 83, 97, 113, 131, 151, 173, 197, 223, 251, 281, 313, 347, 383, 421, 461, 503, 547, 593, 641, 691, 743, 797, 853, 911, 971, 1033, 1097, 1163, 1231, 1301, 1373, 1447, 1523, 1601 (O 41o número é igual a 41^2 e, portanto, não é primo)

As diagonais com as maiores densidades de números primos conhecidas são a belezuras abaixo:

x^2 + x + 3399714628553118047

e (desculpe, não cabe na tela)

x^2 + x + 332518109806968781031500852571295088573128477514981900349983874538507313

O que interessa nisto tudo, é que, parece que, há fórmulas com mais densidade de primos do que outras (isso ainda não foi provado) e isto pode ajudar a resolver outros problemas, como a hipótese de Goldbach (que diz que todos os números pares maiores do que 2 podem ser expressados pela soma de dois números primos) ou a hipótese da existência de infinitos números primos gêmeos.

Como não poderia faltar, eu fiz uma implementação em javascript para mostrar esse grid, só que em vez de 255 x 255, o grid que eu fiz é de 1000×1000. O resultado está neste link. Obviamente você pode aumentar o tamanho do canvas para gerar coisas grandes, como essa de 25.000.000 de números (5000 x 5000) que eu fiz usando o mesmo código (Clica que aumenta).

ulam-5000x5000

 

Edição das 11:50 (Não podia faltar o código Python. O @jbvsmo depois dirá que está lento….)

#!/usr/bin/env python
import sys,math
import Image
 
size = int(sys.argv[1])
 
def sieveGen(siz):
    l = [2,3,5,7,11,13,17,19,23,29]
    if (siz < 31):
        return l
    for i in xrange(31,siz,2):
        isP = True
        rT = math.sqrt(i)
        for j in l:
            if i%j == 0:
                isP = False
                break
            if j>rT:
                break
        if isP:
            l.append(i)
    return l
 
mySieve = sieveGen(size)
 
 
def isPrime(n):
    if (n == 1):
        return False
    if (n < size):
        return (n in mySieve)
    isP = True
    sqrtN = math.sqrt(n)
    for j in mySieve:
        if (n%j)==0:
            return False
        if (j>sqrtN):
            return True
    return True
 
 
 
 
def spiral(N):
    im = Image.new("RGB", (N, N), "white")
    pix = im.load()
    red = (255,0,0)
    if(N%2):
        x = y = ((N-1)/2)
    else:
        x = y = (N/2)
    N2 = N*N
    dx = 1
    dy = 0
 
    val = 1
    amp = 1
    c = 0
 
    while (val <= N2):
        mvd = 0
        while ((mvd < amp) and (val <= N2)):
            if isPrime(val):
                pix[x-1,y-1] = red
            x += dx
            y += dy
            mvd += 1
            val += 1
 
        c += 1
        if (c == 2):
            c = 0
            amp += 1
 
        if (dx == 1):
            dx,dy = 0,1
        else:
            if (dy == 1):
                dx,dy = -1,0
            else: 
                if (dx == -1):
                    dx,dy = 0,-1
                else:
                    if (dy == -1):
                        dy,dx = 0,1
    im.transpose(Image.FLIP_TOP_BOTTOM).save("ulam.png")
 
spiral(size)

Estimando Pi com agulhas e linhas

Há alguns dias, assisti a um vídeo muito legal que mostrava que era possível estimar Pi pelo número de vezes que uma agulha cruzasse linhas verticais num tabuleiro no qual as linhas verticais fossem separadas por uma distância igual ao dobro do tamanho da agulha.

Para testar o que o sujeito fez no vídeo com fósforos, no lugar de agulhas, fiz um programinha em Javascript que deixo abaixo. Como o Javascript não é uma linguagem muito apropriada para isso, não esperem muita precisão nem muita performance. No final do post mostro uma solução mais elegante.

Atenção não coloque mais de 1.000.000 de agulhas ou seu browser pode travar.

Esse método de estimar Pi, é baseado no problema da agulha de Buffon, que foi proposto lá pelo século XVIII, pelo matemático francês Conde de Buffon.

A proposição diz o seguinte: Dada uma agulha com comprimento l e um assoalho com tábuas de largura t, a probabilidade de se jogar uma agulha no chão e ela cair sobre uma junção de tábuas é \frac{2l}{t\pi}.

Se l = \frac{t}{2}, então a probabilidade da agulha cair sobre uma junção é \frac{1}{\pi}

Portanto, se jogarmos N agulhas no chão e o número de agulhas que caírem sobre as junções for h, poderemos aproximar \pi pela fração \frac{N}{h}.

A demonstração dessa probabilidade você encontra aqui. Coloquei o link da Wikipedia em inglês porque essa página na Wikipedia lusófona está muito ruim.

Não satisfeito com a implementação porca que eu fiz em Javascript, o Pedro Paulo resolveu fazer uma muito mais eficiente e elegante em python, que deixo abaixo:

#!/usr/bin/env python
import math, random
 
def generateNeedles (n):
    cross = 0
    for i in xrange(n):
        x = random.random()
        theta = random.random()*(math.pi/2.0)
        if ((x + 0.25*math.cos(theta)) >= 1.0):
            cross += 1
        else:
            if ((x - 0.25*math.cos(theta)) <=0.0):
                cross += 1
    return cross
 
needleCount = 30000000
cross = generateNeedles(needleCount)
print cross,needleCount, needleCount / float(cross)

Ao executar o script acima obtive os seguintes resultados:

30.000 agulhas 3.13217790771
300.000 agulhas 3.14261171985
3.000.000 agulhas 3.14226609757
30.000.000 agulhas 3.1423348868

Esse Conde de Buffon deve ter perdido muita agulha deixando cair entre uma tábua e outra do piso de casa, só pode… 🙂

Qual é o maior número que existe?

Suponhamos que estão reunidos quatro amigos numa mesa de bar, um médico, um advogado (os outros estão de olho nas suas carteiras…), um matemático e um engenheiro de computação. Depois de muitas cervejas, para decidir quem paga a conta eles fazem a seguinte disputa: “em quinze segundos, quem escrever o maior número não paga”.

Antes que o advogado garfasse eles escrevendo o maior número que todo mundo escreveu mais 10%, ele costumava cobrar “10 purça” nos seus negócios com o governo, o pessoal estabeleceu algumas regras: não vale escrever algo que não seja calculável (assim elimina o truque do advogado), nem escrever coisas não numéricas como infinito, \aleph_0, etc.

Cada um pegou seu guardanapo e deram a largada.

O advogado escreveu 10000000000000000000000000000 e acabou o tempo.

O médico, um pouco mais sabedor de matemática escreveu 10^{10000000000000000000000000} e acabou o tempo.

O matemático escreveu 10^{10^{10^{10^{10^{10^{10}}}}}} e acabou o tempo.

E o cara da computação escreveu A(100,100), onde A é a função de Ackerman.

Não preciso dizer quem ganhou …

A função de Ackerman é definida para números inteiros maiores ou iguais a 0 pela seguinte descrição:

A(m,n) = n + 1 se m = 0
A(m,n) = A(m-1,1) se m > 0 e n = 0
A(m,n) = A(m-1,A(m,n-1)) se m>0 e n>0

Ou em Python de forma simples:

def A(m,n):
    if m==0:
       return n+1
    if n==0:
       return A(m-1,1)
    return A(m-1,A(m,n-1))

Esta inocente função produz resultados brutalmente gigantes rapidamente. A(4,4) = 2^2^2^2^2^2^2 – 3

Se você quiser ter uma idéia do dano causado por isto vá no seu python e digite: 2**2

A seguir digite: 2**2**2

Depois digite 2**2**2**2

Se fizer isto mais uma vez vai comer toda sua memória e não vai terminar o cálculo.

A(100,100) é um número tão gigante que nós nem temos bytes suficientes no mundo para representá-lo.

Portanto o advogado, o médico e o matemático pagaram as bebidas do cara da computação. Não sabiam eles, que no próximo encontro, iriam pagar de novo, pois o cara da computação sabia uma função ainda mais brutal que a de Ackerman.

Se você quiser saber mais sobre este assunto leia o artigo: “Who Can Name the Bigger Number?.”

numbers

Números Lychrel e reminiscências do ensino fundamental

Era um sábado de calor no Rio de Janeiro no ano de 1987. Estávamos na sexta série do Colégio São Bento e a prof. Sandra Carelli percebendo que naquele dia não iríamos conseguir desvendar os mistérios da matemática de Papy, era o que se ensinava lá, mostrou-nos uma curiosidade matemática que nunca esqueci.

Suponha que você tem um número, por exemplo 124. Se você inverter os dígitos do número e somar com o número original é grande a possibilidade de obter um número palíndromo.

124 + 421 = 565

No entanto para alguns números a operação precisa ser repetida algumas vezes para obter um palíndromo: 279 por exemplo:

279 + 972 = 1251; 1251 + 1521 = 2772

Tendo captado nossa atenção ela prometeu um chocolate para quem achasse um número para o qual isto não funcionasse. Depois de muito tentar ela nos falou que um número para o qual isto não teria, a princípio, como se formar um palíndromo seria 196.

Quase 25 anos depois eu fui procurar sobre o assunto na Internet e descobri os chamados números de Lychrel. Os números de Lychrel seriam os que tem a mesma propriedade que 196. Embora nem mesmo 196 seja comprovadamente um número de Lychrel há outros candidatos como por exemplo: 295, 394, 493, 592, 689, 691, 788, 790, 879, 887, 978, 986

Abaixo, como homenagem a minha professora Sandra, vai um programa em Python para encontrar números de Lychrel.

#!/usr/bin/env python
def reverseNum(n):
        st = str(n)
        return int("".join([st[i] for i in xrange(len(st)-1,-1,-1)]))
 
def isPalindrome (n):
        st = str(n)
        rev = str(reverseNum(st))
        return st==rev
 
def isLychrel (n, num_interations):
        p = n
        for i in xrange(num_interations):
                if isPalindrome(p):
                        return i
                p = p + reverseNum(p)
        return -1
 
for i in xrange(1000):
        p = isLychrel(i,100)
        if (p < 0):
                print i,p

Para saber mais sobre os números de Lychrel e a busca por um palíndromo para 196 veja: http://www.p196.org

Quebrando o pau, matematicamente

Quando estudei na PUC-Rio havia uma matéria chamada Modelos Probabilisticos ministrada pelo pessoal da Telecom, que era conhecida por suas provas criativas.

Numa destas provas havia uma questão cujo enunciado é o que vai abaixo e serve como nossa leitura de final de semanamatem:

“Suponha que você quebre um palito num ponto aleatório do comprimento dele, escolha o maior pedaço e quebre novamente de forma aleatória. Qual é a probabilidade de você formar um triângulo com os três pedaços?”

Antes de sair procurando alopradamente no Google, não havia o Google ainda em 1996 quando fazia esta matéria, note que este problema é ligeiramente distinto do “three stick triangle problem”, neste nosso você escolhe para a segunda quebra o maior pedaço o que é diferente de quebrar um pedaço de pau em 3 pedaços diretamente.

Há duas formas de resolver este problema, uma forma computacional, que não era o caso na época, e uma forma analítica. A forma analítica é interessante porém exige um conhecimento matemático mais aprofundado. Já a forma computacional está disponível para qualquer um que saiba programar como mostramos no script Python abaixo.

from random import random
 
def isTriangle (a,b,c):
        lista = [a,b,c]
        lista.sort()
        if (lista[2] < (lista[1]+lista[0])):
                return True
        else:
                return False
 
def breakRule():
        p = random()
        if (p < 0.5):
                a = p
                p1 = random()
                b = (1-p) * p1
                c = (1-p) - b
        else:
                a = (1.0 - p)
                p1 = random()
                b = p * p1
                c = p - b
        return isTriangle (a,b,c)
 
sim = 0
nao = 0
 
for i in xrange(100000):
        if breakRule():
                sim += 1
        else:
                nao += 1
 
print "Número de vezes que deu certo: %d"%sim
print "Número de vezes que deu errado: %d"%nao
print "Probabilidade: %f"%(float(sim))/(sim+nao)

Agora a forma analítica de resolver.

Considerando a régua como tendo comprimento 1, vamos dividir o problema em duas partes que são simétricas. Na primeira parte a quebra ocorreu no ponto n (0 < n < 0.5) até 50% do comprimento da régua. Desta forma a segunda quebra não pode ocorrer, para respeitar a desiguldade triangular:

 

A < B + C

onde A é o comprimento do maior pedaço, nos trechos:

[n;\frac{1}{2}] ; [1 - (\frac{1}{2} - n);1]

Como pode-se ver na figura abaixo:

Desta forma, ao quebrar uma vez a régua no ponto n < 0.5 a probabilidade de formar um triângulo é dada por:

P_t(n) = \frac{n}{1-n}

Portanto a probabilidade de formar um triângulo é:

\int\limits_0^\frac{1}{2} P_t(n)dn = \int\limits_0^\frac{1}{2} \frac{n}{1-n}dn

Resolvendo a integral temos:

\log{2} - \frac{1}{2} = 0.193147

Como falamos que eram dois problemas simétricos a probabilidade de formar um triângulo é:

2 (\log{2} - \frac{1}{2}) = 0.386294

Que é o valor obtido pela nossa simulação.

Números primos e algoritmos – Parte II

Nesta segunda parte vamos mostrar testes que rapidamente dizem se um numero é provavelmente primo, provavelmente porque como veremos abaixo eles checam rapidamente se não é primo, mas quando dizem que é primo … Aí tem alta probabilidade de ser primo e se você quiser ter certeza precisa usar um algoritmo mais lento.

Este que vou mostrar se baseia no Pequeno Teorema de Fermat. Este teorema é bem simples de enunciar:

Se um número p é primo então para todos os números a entre 1 e p-1 a equação abaixo tem que ser respeitada (em notação C++):

pow (a,p-1) % p = 1

Assim fazemos o teste para alguns números a entre 1 e p-1 e caso a equação seja verdadeira para eles podemos dizer que é provavelmente primo. Se falhar para algum número não é primo com certeza.

#define NUMTESTES 10 // vamos testar 10 vezes, pode ser um número maior ...
 
int isPrimo (int n) {
   if (n==1)
       return 0; // dica de um leitor da semana passada
   if (n<4)
       return 1;
   for (int i=0; i<NUMTESTES; i++) {
       if (i+1 > n-1)
            break;
       // aqui estou supondo que há uma biblioteca 
       // de precisão arbitrária como a mathX
       // ou usando uma técnica de obter modulo 
       // em exponenciação como a 
       // Fast Modular Exponentiation
       if (pow(i+1,n-1)%p != 1)  
            return 0;
   }
   return 1;
}

Caso o resultado seja 0 você pode estar certo de que não é primo, se for 1, você pode ter uma enorme probabilidade de ser primo.

Para algumas aplicações é preciso ter certeza que o número é primo e como existem os números de Carmichael que se comportam como primos nestes testes probabilísticos vamos ver na próxima parte como testar rapidamente e com certeza (já adianto que é bem complicado do ponto de vista matemático…)

Pierre Fermat ajuda você a encontrar números primos

Como sempre, se houver erros favor apontar nos comentários.

Satélites caindo e jornalistas ignorantes

Veja a matéria que estava na capa do G1 agora há pouco:

G1 é muito ignorante

Perceba como a ignorância de alguns jornalistas é impressionante. A chance de você ser atingido pelo dito cujo aqui no Brasil é 1 em 23 trilhões. Ele chama isso de probabilidade remota; eu chamo isto de probabilidade nula. Probabilidade remota é você pegar malária no Rio de Janeiro, probabilidade muito remota é você ganhar na megasena; probabilidade extremamente remota é você estar num acidente aéreo.

1 em 23 trilhões é muito mais improvável que os anjos tocarem as trombetas do apocalipse quanto eu apertar “Publicar” neste post.

Quer ganhar US$ 1.000.000,00?

Ninguém disse que é fácil, mas aqui vai uma dica quente 🙂

O Prêmio Problemas do Milênio consiste em sete problemas matemáticos e computacionais em aberto que pagam um milhão de obamas para o primeiro que os resolver. Você tem portanto sete chances de ganhar :D, na verdade seis porque um russo resolveu o problema número 3 mas disse que não queria o prêmio (vai entender um matemático russo).

Quem quiser ler mais sobre as regras do concurso: http://www.ams.org/notices/200606/fea-jaffe.pdf

Na foto abaixo você pode ver o rapaz que resolveu o problema número 3, mas esqueceu de ir buscar …

Perelman

Já ia me esquecendo …. Se resolver algum, você entrega eles aqui: http://www.claymath.org/millennium/

Chromey Calculator extensão do Chrome

Uma das coisas legais do Chrome na sua versão atual é o suporte a extensões. Algumas são muito úteis: Chromed Bird, Google Mail Checker Plus, Google Reader Notifier (by Google). Hoje no entanto queria falar de uma que me chamou a atenção de maneira especial: Chromey Calculator.

A Chromey Calculator é uma calculadora para o Chrome que faz as contas no Google ou no WolframAlpha, isto quer dizer que você pode fazer contas desde 2+2 até integrais e derivadas.

Veja o exemplo que fiz:

É uma extensão que eu recomendo e que deve ajudar muito alunos de engenharia. Lembrei, nostalgicamente, dos meus tempos de engenharia, quando não tinha dinheiro para comprar uma calculadora científica e possuindo somente uma calculadora igual a da foto abaixo, fazia senos e cossenos com séries de Taylor usando somente as 4 operações…