• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

tuasite

HELP NUMERO PRIMO

5 mensagens neste tópico

Boas pessoal quem me pode ajudar este codigo deveria dizer se o numero é ou não primo mas da me erro de syntax, Obrigado

int main()
{
    int num,i,contadivisores;
    num==1;
    do
    {
printf("Digite numero:\n");
scanf("%d",&num);
    }
    while (num<=1);
    contadivisores==2;
    for (i=2;i>=num/2;i++);
    if (num%i=0)
        contadivisores==contadivisores+1;
    if contadivisores=2
        printf("numero primo");
        else
        printf("numero nao primo");
return 0;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As condições são sempre delimitadas por parentesis.

Cuidado que a atribuição de valores é com "=" e não com "==". O "==" é o operador de comparação se 2 valores são iguais.

Tens um ";" a seguir no fim da linha do "for". Assim o ciclo não executa esse if que queres, apenas executa as instruções definidas "dentro" do "for".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dava jeito dizeres em que sítio dá o erro.

Mas faltam-te os parêntesis no if (contadivisores==2), e já agora só tens um = no mesmo if. E tens 2 == no num=1. E no contadivisores==2; tens o mesmo problema. E mais abaixo também. Estás a trocar as comparações e as atribuições.

PS: já tinha escrito isto antes da mensagem anterior.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas amigo, obrigado ja alterei o codigo ja corre pede me para digitar o numero mas fica parado o codigo agora é este:

int main()
{
    int num,i,contadivisores;
    num=1;
    do
    {
printf("Digite numero:\n");
scanf("%d",&num);
    }
    while (num<=1);
    contadivisores=2;
    for (i=2;i>=num/2;i++)
    if (num%i==0)
        contadivisores=contadivisores+1;
    if (contadivisores==2)
        printf("numero primo");
        else
        printf("numero nao primo");
return 0;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas amigos ja esta a funcionar so tava mal agora no for que enves de ser i>=num/2 deveria ser i<=num/2, obrigado pela vossa ajuda.

Abraço e continuação de um bom trabalho

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora