Tableless - Desenvolvimento inteligente com Padrões Web

04/05/2008
Tecnologia e Tendências

ELPI: Problema 5

Agora um com matemática. Quais os fatores primos do número 1321317089447443? Esse é o último par de ingressos para o ELPI no Rio de Janeiro. A partir de quinta-feira publico os problemas para o evento em Porto Alegre.

Por


Agora um com matemática. Quais os fatores primos do número 1321317089447443?

Esse é o último par de ingressos para o ELPI no Rio de Janeiro. A partir de quinta-feira publico os problemas para o evento em Porto Alegre.

Por Elcio Ferreira

http://elcio.com.br/

Veja os outros posts de

  • Ian Liu Rodrigues

    Esse é fácil :S
    Mas eu não posso ir! :(

  • Edgard

    Mais um fácil, mesmo pq existem sites que fazem a fatoração. Além de ser um dos primeiros problemas que todo programador aprende :D

  • http://mmadson.com Marvin

    Muito fácil!!
    :P
    Mas como moro em Recife, nem seria lucro ganhar os ingressos.
    heheh

  • Hélio Ricardo

    2147483647!

    Err! Sou do Rio, onde pego os convites? :)

  • Vilmondes Eracton

    Caramba! Esse número é muito grande. Acho que poderia ter sido colocado um número menor, já que a idéia é a construção do algoritmo. Enfim, o negócio ta sendo calculado aqui. Vou dormir e amanhã vejo se retornou algo. hehehe.

    Vlw!

  • http://elcio.com.br/ Elcio Ferreira

    Hélio, não entendi sua resposta. Com certeza não é isso.

  • Vilmondes Eracton

    5
    2
    2
    2
    2
    7
    2
    2
    2
    3
    7
    2
    2
    2
    2
    5
    1031
    170279

    http://img80.imageshack.us/my.php?image=primoswc2.jpg

  • Edgard

    Putz, até agora ninguém acertou …

    Vilmondes, nenhum fator está certo, pra ser divisível por 5 precisa terminar com 5 ou 0, e pra ser divisível por 2 tem que ser par. Logo 2 e 5 não são fatores, e pior, vc não acertou nenhum dos fatores.

    O seu problema é que o php não consegue representar números maiores que 2147483647 como inteiros, logo o 1321317089447443 virou um float. Não sei que algoritmo de fatoração você está usando, mas os fatores crescendo e decrescendo está meio estranho.

  • Vilmondes Eracton

    Edgard, eu vi que o php n conseguiu trabalhar de maneira correta com esse numero. O primeiro fator deveria ter sido o 11. Ele ta retornando o resto de 1321317089447443 / 5 como 0. E quanto aos fatores ’2′, eles são em relação ao resultado da divisão anterior, ou seja, 1321317089447443 / fator primo divisivel | resultado / fator primo divisivel e assim sucessivamente. Só ficou errado porque ele retornou resto 0 na divisal do 1321317089447443 por 5.

    Vou ver se tem como fazer com q o php trabalhe com esse número.

    Abraço!

  • Edgard

    Vilmondes, para trabalhar com números de precisão arbitrária em php você tem que usar o GMP.

    E pelo visto você está usando o algoritmo trivial, só uma dica pra melhorar o tempo, e você não esperar muito, depois de você achar um fator n, o próximo fator é sempre maior ou igual a n.

    Logo se o primeiro fator é 11, o segundo não pode ser menor … Como uma dica o segundo fator é 17.

    Mas já adiantando existem soluções mais simples, hehe

  • Alexandre

    11 -

    17

  • Alexandre

    ops

  • http://coisasdeweb.blogspot.com Ramon

    Olá,
    eu acredito que a resposta seja essa:

    11
    17
    163
    43348876003

    Abs

  • Vilmondes Eracton

    Vlw a dica =]. Mas o colega ai jah acertou…rs.

    Vlw, galera! Quarta tô lah no evento xP

  • Edgard

    A solução mais fácil era procurar no google, hehe, tem vários sites que fazem a fatoração.

    Por exemplo:
    http://wims.unice.fr/wims/wims.cgi?module=tool%2Falgebra%2Ffactor.en&calc=factor&formula=1321317089447443

  • http://dx7lab.com Rafael Dx7

    11 x 17 x 163 x 43.348.876.003

  • Vilmondes Eracton

    affff..hehehe. Mas eu tava levando como um desafio mesmo. Vlw!

  • http://dx7lab.com Rafael Dx7

    ah… o cara acima já tinha respondido… :P

  • http://coisasdeweb.blogspot.com Ramon

    Eu tb levei como um desafio. No javascript graças à Deus, não acontece o mesmo problema que o PHP aí foi só colocar a “região glútea” para funcionar.

  • Pingback: 10˚ Encontro Locaweb - Problema 5 « Distópico