• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

deathseeker25

EUA: Universidade calcula maior número primo conhecido

12 mensagens neste tópico

Esta notícia é especialmente para o vbmaster... :biggrin:

A Universidade do Missouri anunciou que um grupo de 700 computadores calculou o maior número primo que se conhece.

O algarismo encontrado tem 9.152.052 dígitos. É a segunda vez no ano que está prestes a terminar que um número primo de proporções astronómicas é calculado. A iniciativa faz parte do projecto Gimps (Grande Busca de Número Primo Mersenne na Internet), que oferece um prémio de 100 mil dólares a quem chegar a um número primo com dez milhões de dígitos.

Assim como aconteceu com o número calculado em Fevereiro, o anunciado agora chegou perto de levar o prémio que será pago pela Electronic Frontier Foundation, mas ainda não foi suficiente.

O Gimps conta com a participação de 200 mil computadores que oferecem voluntariamente o seu poder de processamento para chegar a números primos Marsenne gigantescos.

Um número primo é um número que só pode ser dividido por um ou por ele mesmo sem que tenha um resto de divisão. Um Mersenne é um tipo especial de primo que é definido por dois elevado a uma potência específica, menos um. Por exemplo, sete é um Mersenne, pois é dois elevado ao cubo menos um. O número recém-anunciado é dois elevado à 30.402.457ª potência menos 1.

Números primos - e os Mersenne em particular - têm um papel fundamental na definição de algoritmos computacionais de criptografia Quanto maiores estes números, mais difíceis é quebrar o esquema de segurança.

Apesar disto, número gigantescos, como o recém-anunciado, têm um interesse puramente académico, devido à dificuldade de serem usados num sistema comercial. Para se ter uma ideia do que isso representa, seriam necessários 67 mil anos de processamento de um computador com um Pentium a 90MHz para se calcular o número que foi anunciado agora.

Fonte: Infortech United

Então pa, quando é que descobres um numero primo com 10 milhões de digitos para ganhares o prémio e dares uns trocos ao P@P....? :D

Sabes certamente do que estou a falar... :)

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sei sim....

epah..eu falo como o Mare não sei quê, o superpc recentemente desenvolvido peço-lhe 1% do seu processamento e meto lá o meu programazinho em c++ a correr....

o problema é que acho que nem a long int chega a tanto algarismo... :P

Pode ser que esse pc tenha um long int maior que o normal de um pc 32bits.... (deve ter, claro...) ;)

Fiquem bem :D;):)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O Mare Nostrum....com 1% do seu poder de processamento já tinhas o prémio em casa... :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem isto que voces estam a falar, só é possivel graças ao uso de programação paralela, algo giro...mas muito complexo, eu recentemente num trabalho meu para computacao paralela, tive que calcular os numeros primos, usando a paralelizacao, claro que o meu programa esta mto longe do programa usado pra atingir o k ja foi atingido...o maior primo k encontrei foi inferior ao valor natural 209 000!!(mto pequeno...eu sei o  k era importante era mm paralelizar o programa...)

bem, e pelo meio deste trabalho encontrei um pdf muito fixe, que tentei ler, mas desisti pois é um pouco complexo, que fala neste tema, os numero primos de mersen... aqui fica o ficheiro para voces ver, um pouco de um programa para atingir o numero que foi atingido...

numeros primos de mersen

lembrei agora que tv nao tenha o programa completo...mas explica +- como funciona  :hmm:

ah e de lembrar....um numero primo de mersen é um numero escrito da forma ( 2^k) -1 para k>=1 (acho que nao disse asneiras)  :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
o maior primo k encontrei foi inferior ao valor natural 209 000!!(mto pequeno...eu sei o  k era importante era mm paralelizar o programa...)

Admite tofas, quanto é que queres pelo meu programa? :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
o maior primo k encontrei foi inferior ao valor natural 209 000!!(mto pequeno...eu sei o  k era importante era mm paralelizar o programa...)

Admite tofas, quanto é que queres pelo meu programa? :D

fizeste um programa paralelizado....para calcular os numeros primos??? hummm  e usa o que ? C + MPI?? eu uso isso...  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fizeste um programa paralelizado....para calcular os numeros primos??? hummm  e usa o que ? C + MPI?? eu uso isso...  :hmm:

Oh tofas o meu programa de números primos já tu conheces...  :-[

Pus o código na secção c++ num thread teu, acho eu....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fizeste um programa paralelizado....para calcular os numeros primos??? hummm  e usa o que ? C + MPI?? eu uso isso...  :hmm:

Oh tofas o meu programa de números primos já tu conheces...  :-[

Pus o código na secção c++ num thread teu, acho eu....

aaaaaaaaaahhhhhhhhhhhhhhhhhhhhhhhhhh pois...isso tb tenho, o pior é fazer uma paralelizacao, onde prai qtos pc's estam a resolver 1 determinado programa, e cada pc faz o k lhe diz respeito...uiui deu me mto trab a fazer...e sei mto bem que nao é perfeito...  :down:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

aaaaaaaaaahhhhhhhhhhhhhhhhhhhhhhhhhh pois...isso tb tenho, o pior é fazer uma paralelizacao, onde prai qtos pc's estam a resolver 1 determinado programa, e cada pc faz o k lhe diz respeito...uiui deu me mto trab a fazer...e sei mto bem que nao é perfeito...  :down:

Mas se o objectivo é arranjar um número primo cada vez maior, como é que vários computadores podem ajudar?....

só se for tipo:

para o número 3 000 000, um pc1 testa divisões do ]1 ao 750 000]

o pc 2 teste divisões do ]750 000 ao 2 500 000[

e o pc3 testa divisões do ]2 500 000 ao 3 000 000[

so se for assim... mesmo assim não me caber na cabeça conseguir fazer tal coisa... :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

aaaaaaaaaahhhhhhhhhhhhhhhhhhhhhhhhhh pois...isso tb tenho, o pior é fazer uma paralelizacao, onde prai qtos pc's estam a resolver 1 determinado programa, e cada pc faz o k lhe diz respeito...uiui deu me mto trab a fazer...e sei mto bem que nao é perfeito...  :down:

Mas se o objectivo é arranjar um número primo cada vez maior, como é que vários ocmputadores podem ajudar?....

só se for tipo:

para o número 3 000 000, um pc testa divizões do ]1 ao 750 000]

o pc 2 teste divisões do ]750 000 ao 2 500 000[

e o pc3 testa divisões do ]2 500 000 ao 3 000 000[

so se for assim... mesmo assim não me caber na cabeça conseguir fazer tal coisa... :(

agora nao tou com paciencia para estar a explicar....mas tou a pensar no fim da avaliacao dessa CP, colocar aki no forum o k e a computacao paralela...e os meu programas: o serial (k  normalmente fazemos) e o paralelo... mas como o proj desconfia k fui a net, eu ainda nao os posso por... (mas fui eu que fiz ele é k nao acredita... F****D**P**) :mad:

so te digo é o codigo esta a ser corrido nos varios pc's ao mm tempo...

o ficheiro que aki colokei no inicio, explica ja isso...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Este ano também tive um projecto que calculava números primos numa linguagem que foi emulada em Scheme, o APL. Este APL que parece coisa do passado numa linha de instruções ( 10 caracteres ) é capaz de calcular desde 0 até N números primos entre outas coisas bonitas. Tipo os digitos de Pi e simular o John Conway's Game of Life matricialmente coisa que nunca vou conseguir implementar devido ao estudo e outras coisas..

Também no futuro vou ter de lidar com essa paralelização que parece ser uma coisa nada trivial =P É um projecto pessoal por isso eu tenho bastante tempo.

Em que linguagens fizeste isso ? A solução mais simples era distribuir números tipo com 4 pcs um ficava com {1,5,9}. O incremento era o número de Pcs. Assim comparava sempre o mesmo range de 4 seguidos ? Nem vou ler esse pdf por falta de tempo mas parece uma coisa moderada de se implementar em perl =D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu usei C e as rotinas do MPI....fiz aqui o enunciado para verem o que tinha que fazer...claro que nao diz como se faz os programas...mais tarde falo no assunto... Primos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora