Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Vinicius55coelho

[Resolvido] Desafio-Primo: JAVA - algorítimos inter-dependentes

Recommended Posts

- O GRANDE PROBLEMA DOS NÚMEROS PRIMOS -

Não entendo de programação Java, tentei utilizar as várias formas de programações no cript comando, contudo dá erro. Estou tentando achar quantos numeros primos tem de 1 a 510510.

Confira texto abaixo. Obrigado.

Editado por Vinicius55coelho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pretende fazer isso em Java mesmo?

Editado por Goliathvv

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Estava tentando, contudo não consegui. Que método você tem em mente para achar esse número, que considera mais eficiente?

    Editado por Vinicius55coelho

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Claro que eu gostaria de ouvir a sua sugestão.:) Diga qual é a sua ideia e depois eu te mostro um algoritmo legal para resolver esse problema.

    Abraços.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Desculpe, troco e-mail com voce;

    Pode fechar o topico, vou conversar com voce via e-mail

    Editado por Goliathvv
    Evite postar seguidamente, utilize o botão editar caso deseje acrescentar algo. Obrigado.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Desculpe, troco e-mail com voce;

    Pode fechar o topico, vou conversar com voce via e-mail

    Olá Vinicius. Eu prefiro realizar tal conversa aqui pelo fórum mesmo, assim todos se beneficiam e podem opinar sobre as idéias discutidas, além de a solução para o problema ficar disponível aqui caso alguém tenha a mesma dúvida no futuro.

    Agradeço a compreensão e aguardo a sua resposta.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Oky.

    Parte 1:

    A constatação da possibilidade de existir um padrão nos números primos veio, quando incrédulo assistir ao video "El secreto de los numeros primos" no youtube, ( vide: /watch?v=qSjh4-VYDcg); no qual o autor desse video "revela-nos" que o segredo dos números primos seria os numeros redondos, que seguem essa lógica:

    * números redondos:

    2 = 2

    2x3 = 6

    2x3x5 = 30

    2x3x5x7 = 210

    2x3x5x7x11 = 2310

    2x3x5x7x11x13 = 30.030

    30030x17 = 510.510

    510510x19 = 9.699.690

    ...

    e assim por diante.

    E mais: O autor do vídeo nos apresenta de forma bastante coerente as tabelas em relação aos números redondos 6 e 30; todavia a tabela 210 destrói a lógica que havia, como pode ver meu comentário abaixo do vídeo no site. Logo a lógica, que o autor do vídeo apresentou, é incorreta.

    Vejamos, Parte 2:

    1. Selecionando esses números redondos e colocando em ordem:

    T=(2,6,30,210,2310,30.030, 510.510, 9.699.690...)

    2. Selecionando o total de números primos de 2 até o referido número redondo,obtemos:

    H = (1,3,10,46,388,3248,X,Y,....)

    Isto é, de 0 a 2, há 1 número primo, que é 2; de 0 a 6, há 3 números primos, que são 2,3,5; de 0 a 30, há 10 números primos; de 0 a 210, há 46 números primos; de 0 a 2310, há 388 números primos; de 0 a 30.030, há 3248 números primos; de 0 a 510.510, há X números primos; de 0 a 9.699.690, há Y números primos; ...

    I.

    Considere:

    H = (1,3,10,46,388,3248,X,Y,....);

    H =(a1,a2,a3,a4,a5,a6,a7,a8,.... an);

    Logo:

    a1= 1; a2 = 3; e assim por diante.

    II.

    Sabendo-se que: a6 = a5.r; logo r = a6/a5; assim como r = a5/a4; r = a4/a3; r = a4/a2; r = a2/a1; r = a7/a6; r = a8/a7; e assim por diante...

    Divindindo-se an+1 por an; obtemos a seguinte seqüência:

    K = (

    3;

    3,333...;

    4,6;

    8,4347826086956521739130434782609;

    8,3711340206185567010309278350515;

    X/a6;

    Y/X;

    ...

    )

    Percebe-se, entretanto, que o valor de "r" é variável; contudo para se tentar achar a lógica de "r" temos que ter uma sequência de "K" significativa.

    Para ter uma sequência significativa de "K", entretanto, tenho que ter de antemão uma sequência significativa também de "H", e, por sua vez, para ter uma sequência significativa de "H", precisa-se ter uma sequência signifiva de "T".

    Então, na verdade, são três algarítmos, que se busca: um para satisfazer a sequência "T"; outro para satisfazer a sequência "H"; e, por fim, um para satisfazer a sequência "K"; visto que um depende do outro, isto é, são inter-dependetes.

    É possível criar esses três algarítmos? Ora, sendo possível, pode ser que possamos descobrir o mistério que envolve os números primos.

    Editado por Vinicius55coelho
    Flood, por favor edite ou use multi-citação ao invés de postar seguidamente. Obrigado.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Muito interessante o seu questionamento, e eu diria que na verdade você não está em busca de um algoritmo para encontrar números primos numa dada faixa, mas sim de um estudo sobre o comportamento dos números primos.

    No caso isso entraria mais no ramo da teoria dos números, então se você tem interesses em números primos seria melhor direcionar seus estudos para este campo. Inclusive é possível que esta sua teoria já tenha sido analisada de forma mais aprofundada, mas se ela ainda não foi, talvez haja ferramentas neste campo que te permitam extrair mais da teoria.

    Vou falar com algumas pessoas sobre o seu questionamento e depois te informo sobre boas fontes de conteúdos acerca deste assunto.

    Abraços.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Muito obrigado! Sou bastante grato a sua atenção e importância que dá a esse problema.Ficaria muito feliz se aceitasse a trabalhar comigo nesse projeto, se não for ofortúnio para você, claro.

    Agora, que você falou, notei algo, que não tinha percebido antes: na verdade, trata-se de um super-algorítmo, do qual o funcionamento depende das respostas que um algorítmo é capaz de fornecer para o outro, de uma maneira ordenada para que não cause erro no sistema, uma vez que uma sequência não pode ter um rítmo mais rápido que sua antecessora, isto é, os algorímos devem funcionar nessa ordem (T,H,K), e de maneira sincronizada com a capacidade de disponibilidade de respostas dessas sequências entre si; logo devemos somar mais um quarto algorítmo geral para essa finalidade, chamado de algorítmo S, de sincronicidade.

    Um possível caminho para desenvolvimento dos algorítimos inter-dependetes, ou do super-algorítimo:

    1. O primeiro, algorímo "T"

    Para conseguirmos montar a sequência "T", teríamos que ter já de antemão uma sequência de números primos, obtida mediante um algorítmo específico "P" (eis aí mais um algorítimo, quinto). Para assim conseguirmos, mediante o algorítmo "S", utilizar os elementos dessa sequência "P", no algorítmo "T".

    2. Algorítmos H e K

    O processo para o desenvolvimento dos algorítmos H e K é análogo ao que expomos acima.

    3. Conclusão

    Isso é complexo e trabalhoso, mas não é difícil; as expectativas, todavia, são boas; espero que encontre ferramentas, fontes, e pessoas para nos ajudar nesse problema.

    Editado por Vinicius55coelho

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Bem, não sei se tal solução seria realmente viável, afinal há uma certa dependência entre esses algoritmos que pode tornar o problema bem complexo se a questão não for analisada um pouco mais.

    Existem algoritmos para encontrar números primos que são bem eficientes, como o crivo de erastótenes, que é relativamente fácil de implementar e oferece resultados satisfatórios, mas para números muito grandes ele pode não ser muito bom.

    Pela descrição daquilo que você quer fazer, eu diria que você não está em busca de um algoritmo, mas sim de um estudo sobre os números primos. A consequência desse estudo é que será o algoritmo, então a princípio eu recomendo que você deixe de lado a questão da implementação e se foque em estudar os números primos e outros campos que são necessários ao entendimento desses números.

    Ir direto para a implementação é arriscado pois não há como comprovar que os algoritmos relacionados conseguem de fato fornecer aquilo que se deseja de uma forma eficiente.

    Então, se você precisa encontrar uma sequência de números primos a curto prazo eu recomendo que implemente o crivo de erastótenes(nisso eu poderia te ajudar desde já), mas se estiver interessado em desvendar o padrão relacionado aos primos(caso exista tal padrão), será necessário mais tempo e dedicação, então pode demorar para chegar ao resultado desejado.

    Abraços.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Muito obrigado, acho que seria um bom caminho usar o crivo de Erastotenes para tentar achar os números primos de 0 a 510510; depois de encontrados, há algum meio de saber quantos são? Ficaria muito satisfeito com essas duas respostas. Obrigado.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Muito obrigado, acho que seria um bom caminho usar o crivo de Erastotenes para tentar achar os números primos de 0 a 510510; depois de encontrados, há algum meio de saber quantos são? Ficaria muito satisfeito com essas duas respostas. Obrigado.

    Bem, você pode incrementar um contador sempre que encontra um primo, ou ao fim do processo pode percorrer toda a tabela e ir contando. É mais interessante fazer o primeiro caso, pois assim você não tem que percorrer a tabela toda uma outra vez.

    Abraços.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Goliathvv, muito obrigado pela prestatvidade, paciência e atenção; graças ao nosso diálogo tive algumas ideias interessantes, por isso agradeço a você; gostei muito da recomendação de usar o crivo de Erastoténes, acrescido de um marcardor. Obrigado. Se desejar pode fechar o tópico, estou satisfeito.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Goliathvv, muito obrigado pela prestatvidade, paciência e atenção; graças ao nosso diálogo tive algumas ideias interessantes, por isso agradeço a você; gostei muito da recomendação de usar o crivo de Erastoténes, acrescido de um marcardor. Obrigado. Se desejar pode fechar o tópico, estou satisfeito.

    Por nada amigo, sinta-se à vontade para levantar questionamentos ou sugerir mais discussões no fórum.

    Abraços.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Visitante
    Este tópico está impedido de receber novos posts.
    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×