TOPIC

5% de erro

RafaelMartinsAlvesDoAmaral asked 3 years ago

alguém sabe dizer onde está o erro?

#include <stdio.h>

int main() {

int n1, n2, i, veri, cont, result;

    scanf("%d",&n1);
    for(i=0; i<n1; i++){
        scanf("%d", &n2);
        for(veri=1; veri<=n2; veri++){
            result=n2%veri;
            if(result==0){
                cont++;
            }
        }
        if(cont==2){
            printf("%d eh primo\n", n2);
        }else{
            printf("%d nao eh primo\n", n2);
        }

    }

    return 0;
}

Remember not post solutions. Your post may be reviewed by our moderators.

  • jgsribeiro replied 3 years ago

    Você não tá zerando o contador "cont" antes de loopar cada caso de teste, então todo caso depois do primeiro necessariamente não vai ser primo. É boa pratica também zerar um contador logo na declaração, porque dependendo você vai tá somando o valor a um lixo da memória aleatório e quebrando seu código.