NUMERO primo em C

Fechado
Denunciar
-
Posts
1278
Data de inscrição
sábado 10 de novembro de 2012
Status
Contribuinte
Última visita
2 de julho de 2021
-
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 resposta

Posts
1278
Data de inscrição
sábado 10 de novembro de 2012
Status
Contribuinte
Última visita
2 de julho de 2021
1.688
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!

Receba toda semana o melhor conteúdo

Assine nossa newsletter!