#include <stdio.h>
#include <stdlib.h>
#include <math.h>
char isPrimo(long p) {
int i = 3;
char flag = 1;
//// Se 'p' é 2 ou 3 então é primo
if (p == 2 || p == 3)
return flag;
//// Se 'p' for 0, 1 ou par então não é primo
if (p == 0 || p == 1 || p % 2 == 0)
flag = 0;
long raiz = (long) sqrt((double) p);
while (i <= raiz && flag) {
if (p % i == 0)
flag = 0;
i += 2;
}
return flag;
}
int main(int argc, char** argv) {
int cont = 2, val;
printf("\n");
printf("Digite um valor:");
scanf("%d", &val);
while (cont < val) {
if (isPrimo(cont)) {
printf("\n Primo:[%d]", cont);
}
cont++;
}
}
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar