Olá, gostaria de saber como deixar o algoritmo abaixo mais rápido. Pesquisando vi que uma boa solução seria só calcular os divisores que vão até a raiz quadrada do número, no entanto não consigo implementar isso, alguém pode me ajudar?
include < stdio.h >
int primo(int x){
int i,c = 1;
for(i = 2; i <= x - 1; i++){
if((i % 2 == 1) || i == 2){
if(x % i == 0){
c++;
}
if(c > 2)break;
}
}
if(c + 1 == 2){
return 1;
}else{
return 0;
}
}
int main(void){
int t,v;
scanf("%d",&t);
while(t--){
scanf("%d",&v);
if(primo(v)){
printf("Prime\n");
}else{
printf("Not Prime\n");
}
}
}