Verificando se um número é primo.

Publicado por Luiz Augusto Filho 02/03/2004

[ Hits: 14.906 ]

Download primo.c




Este código cálcula se um número é primo ou não. Porém, nos dias atuais existe uma certa divergência dentro da mátematica, onde o pessoal da álgebra NÃO considera o número 1 primo. Este programa CONSIDERA o número 1 primo.

  



Esconder código-fonte

/*
  Name: Primo
  Author: Luiz Augusto (hyr4x@bol.com.br)
  Date: 02/03/04 20:26
  Description: Verifica se um numero é primo.
*/
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{

  int numero = 1, i;
  while(numero){
  printf("Digite '0' para sair.");
  printf("Digite um numero: ");
  scanf("%d",&numero);
  for(i=2;i<=(numero>>1)+1;i++) {
    if (numero == 1 || numero == 2 || numero == 3) {
     break;
    }
    if (!(numero%i)) {
      printf("\n\n\t%d nao eh primo, ele eh divisivel por %d.\n",numero,i);
      break;
    }
  }
  if ((numero%i) || (numero == 1) || (numero == 2) || (numero == 3)) {
    printf("\n\n\t%d eh primo.\n",numero);
  }
  }
  system("PAUSE");
  return 0;
}

Scripts recomendados

Mini - agenda

Mostra valores da tabela ascii

Introdução ao ncurses

Funções de comparação de String

uso do if


  

Comentários
[1] Comentário enviado por smurf em 24/02/2005 - 16:01h

O numero 1 NAO pode ser considerado primo, pois existe um teorema chamado 'Teorema da fatoração Única' q diz q TODO q QUALQUER numero possiu UMA e SOMENTE uma fatoracao em termos de mumeros primos: ex:
9 = 3 x 3, 21 = 3x7 e assim vai... se o numero 1 for considerado primo esse teorema DEIXA de existir, pois 9 = 1x1x1x1x3x3 e é tb igual a 1x1x1x3x3, assim nao teríamos mais uma unica fatoracao pra cada numero. :-D por isso o numero 1 NAO é primo. :-D


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts