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



» Screenshot
Linux: Remote Desktop
Por Estival
» Login
Login:
Senha:

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

Esqueci minha senha



Scripts

Linux user

Publicado por Kelyane em (última atualização em 01/10/2009)   [ 3699 hits ]

Login: lokitakkk, 40233 pontos

Homepage: http://blog.kelyane.com

Download:


Descrição

Programa que verifica se o número é primo ou não.


[ Download: NumeroPrimo.pas ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

Program NumPrimo ;

Var    N, i: integer;
          isPrimo: boolean;
          respostaUsuario: char;   

Begin    
   repeat
      write('Informe um número: ');
      readln(N);
       
           i:=2;
      isPrimo:= true ;
         while (i<N) and (isPrimo) do  begin
         if (N mod i = 0) then begin    
            isPrimo:= false ;
                   end ;    
                        i:= i+1 ;
           end;
           if (isPrimo) then   Begin
         writeln(N, ' é um número primo');
           End
           else Begin
              writeln(N, ' não é um número primo, porque é divisível por ', i-1);
           End;

      write('Deseja continuar ? (S/N)');      
           readln(respostaUsuario);
   until (respostaUsuario='N') or (respostaUsuario='n') ;
End.



Scripts recomendados
   Script Linux recomendado vendas de uma empresa em matriz
   Script Linux recomendado palindroma
   Script Linux recomendado Programa que realiza o reajuste salarial de acordo com o cargo
   Script Linux recomendado Coleta de dados de alunos em Pascal
   Script Linux recomendado Soma dois Valores e exibe o resultado

Comentários
[1] Comentário enviado por fscaetano em 01/10/2009 - 12:25h:

Pode-se dar uma boa otimizada:
- testar somente i ímpares após o 2;
- testar somente i se i*i < N, ou i <= sqrt(N), calculando a raiz somente uma vez e colocando o valor em outra variável;
- incrementar i somente no else do if(N mod i = 0), assim não precisaria do offset -1 no writeln;
Abraço!



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.