Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Logo Logo cataclysm no meu pc
Por removido
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Luis Eduardo Boiko Ferreira em (última atualização em 14/11/2011)   [ 2791 hits ]

Login: lestatwa, 56478 pontos

   


Descrição

Programa desenvolvido em Python que recebe um numero real positivo e verifica se o mesmo é primo. A ideia é optimizar esse processo ao máximo, portanto, contribuições serão muito bem vindas.

[ Download: primo.py ]   [ Enviar nova versão ]

Versões atualizadas deste script (NOVO)
Linux user

Publicado por Guilherme em 12/11/2011

Changelog: #/usr/bin/env python
#coding: utf-8
#Algoritmo para calcular se um numero é primo
#Autor: Luis Eduardo Boiko Ferreira
#Modifique o código a vontade, desde que mantenha o nome do autor
entrada = int(input("Digite um numero positivo real qualquer: "));
if (entrada <=0):
finalizar = str(input('Numero invalido, pressione qualquer tecla para continuar...'));
exit();

# i sera nosso divisor inicial
i = 1;
# j sera nosso contador de ocorrências
j = 0;

#Nenhum numero real vai ser divisivel por um numero maior do que sua metade
entrada1 = (entrada/2);

while (i <= entrada):

if (entrada % i==0):
print ('-> É divisivel por %i <-'%i);
i = i+1;
j = j+1;

if (i>=entrada1):
# damos a i, o valor da variavel entrada, pois o próximo divisor sera o próprio número
i = entrada;
print ('--> É divisivel por %i <--'%i);
i = i+1;
j = j+1;

else:
i = i+1;
if(j==2):
print ('O número requisitado é primo!');

else:
print ('Numero não é primo, possui',j,'divisores.');

(versão 2)

 

[ Esconder código-fonte ]

#/usr/bin/env python
#coding: utf-8
#Algoritmo para calcular se um numero é primo
#Autor: Luis Eduardo Boiko Ferreira
#Modifique o código a vontade, desde que mantenha o nome do autor

entrada = input("Digite um numero positivo real qualquer: ");
if (entrada <=0):
   finalizar = raw_input('Numero invalido, pressione qualquer tecla para continuar...');
   exit();

# i sera nosso divisor inicial
i = 1;
# j sera nosso contador de ocorrências
j = 0;

#Nenhum numero real vai ser divisivel por um numero maior do que sua metade
entrada1 = (entrada/2);

while (i <= entrada):

   if (entrada % i==0):
      print '-> É divisivel por',i,'<-';
      i = i+1;
      j = j+1;

   if (i>=entrada1):
      # damos a i, o valor da variavel entrada, pois o próximo divisor sera o próprio número
      i = entrada;
      print '--> É divisivel por',i,'<--';
      i = i+1;
      j = j+1;

   else:
      i = i+1;
if(j==2):
   print 'O número requisitado é primo!';

else:
   print 'Numero não é primo, possui',j,'divisores.';
   

Scripts recomendados
   Script Linux recomendado Usando o módulo PDB
   Script Linux recomendado Versão das principais distribuições.
   Script Linux recomendado votacao.py
   Script Linux recomendado Simulador de Empréstimos
   Script Linux recomendado Adição de chaves a repositórios

Comentários
[1] Comentário enviado por Kyouraku em 14/11/2011 - 22:28h:

você já fez alguma análise em termos dos custos computacionais?

[2] Comentário enviado por lestatwa em 15/11/2011 - 20:38h:

Olá Kyouraku. Este código foi publicado antes de eu estar cursando matemática.... tenho estudado mais a fundo e existem maneiras bem mais "leves" de se calcular primos....provavelmente eu publicarei qlqr dia destes uma versao bem mais agil!
Abraço!

[3] Comentário enviado por gui-gui em 16/11/2011 - 13:44h:

Eu fiz uma versão bem mais leve em python tb, baseada neste código:http://www.vivaolinux.com.br/script/Numero-Primo-1


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.