NUMERO primo em C

Fechado
Manuel - 22 set 2013 às 05:31
aaafelix Posts 1272 Data de inscrição sábado 10 de novembro de 2012 Status Contribuinte Última visita 27 de outubro de 2023 - 22 mar 2014 às 22:03
Boas os programas apresentados no link:https://br.ccm.net/faq/10300-verificar-se-um-numero-inteiro-e-um-numero-primo-em-c dão-me errados.
Uma vez pois os numeros ímpares considera-os todos como primos!!
Só fiz uma pequena alteração ao programa tirei a raiz(sqrt): pois dava-me este erro: (.text+0x6c): undefined reference to 'sqrt' collect2: ld returned 1 exit status. E coloquei em forma de potencia c/ pow.
o programa:
/**************************\

número_primo3.c *


\**************************/

/* algoritmo: exclua os números pares e

teste todos os divisores até a raiz quadrada */


#include <stdio.h>
#include <math.h>

int main (void)
{
int i, nb, contar, teste,limite;
teste = contar = 0;
printf ("Entre um número inteiro : ");
if (scanf ("%d", &nb) != 1)
return -1;
limite = pow(nb,1/2) + 1;

if (nb % 2 == 0)
teste = 1;
else{
for (i = 3 ; i < limite; i+=2, contar++)
if (nb % i == 0)
teste = 1;
}
if (!teste)
printf ("%d número primo, número iterações = %d\n", nb, contar);
else
printf ("%d não é um número primo, número iterações = %d\n",nb, contar);
return 0;
}

1 Respostas

aaafelix Posts 1272 Data de inscrição sábado 10 de novembro de 2012 Status Contribuinte Última visita 27 de outubro de 2023 1.730
22 mar 2014 às 22:03
Você esqueceu de dizer se deu certo. Gostaríamos muito de terminar essa discussão. Por favor deu certo? Entre em contato.
aaafelix

Assine nossa newsletter!

Assine nossa newsletter!