Ir ao conteúdo
  • Cadastre-se

C numero par ou impar


naldo.felipe

Posts recomendados

#include <stdlib.h>
#include <stdio.h>
int main (void)
{
int num;
printf("digite um numero inteiro: ");
scanf("%d",&num);
if(num%2==0)//operador %
{
printf("Par");
}
else
printf("Ímpar");
}

Amigo, o operador "%" verifica a divisão por um número qualquer é 0. Como na matemática para um número natural, ser par a sua divisão por 2 deve ser 0, eis a verificação!

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 7 anos depois...
  • 4 semanas depois...
  • Membro VIP

Olá. Só complementando:

Em 17/11/2009 às 15:09, MHK disse:

Amigo, o operador "%" verifica a divisão por um número qualquer é 0. Como na matemática para um número natural, ser par a sua divisão por 2 deve ser 0, eis a verificação!

 

Esses "0" se referem ao "resto da divisão", ou seja, se um número N dividido por um número M tem resto 0, significa que N é divisível por M. Ex.: Se N=10 e M=2, 10 % 2 vai resultar em resto 0... logo 10 é divisível por 2... como todo* número divisível por 2 é par, 10 é par também.

 

*Obs.: é importante se atentar às propriedades da paridade, ou seja, se números negativos também podem ser par ou ímpar... se 0 deve ser considerado como par ou não etc. O que conta é a definição matemática da coisa, não apenas o resultado do algoritmo...

 

Ex.: -5 é par ou ímpar? Pelo algoritmo dará ímpar, pois -5 % 2 tem resto -1, e -1 é diferente de 0. Assim como -30 será par... mas não necessariamente isso é verdade, terá que ver o que a matemática diz sobre isso.

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 6 meses depois...

Ola, eu ainda estou aprendendo C e nao sabia do operador que verificava o resto da divisao então fiz assim, mas só se aplica se o numero for declarado em int, mas nao vejo porque alguem procuraria saber se é impar ou par por float ou outra coisa.

Ficou assim:

int main()
{
    int n, divisao;
    printf("Digite um numero: ");
    scanf("%d", &n);
    divisao=n/2;
    if (n==divisao*2)
    {
        printf("o seu numero eh par");
    }
    else 
    {
        printf("o seu numero eh impar");
    }
}

 

  • Curtir 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

@ROBERTOHAC40   o que você quer dizer com o caminho da direita ou o caminho da esquerda , pois o compilador não muda nem para a direita e nem para a esquerda ,  ele só vai de cima do código para baixo ,  e pode voltar lá em cima se houver e for chamada  uma função lá .

Link para o comentário
Compartilhar em outros sites

@devair1010 Pois é amigo, peço desculpa pois não fui claro na pergunta, então vou te mandar o enunciado:

"Na recepção do setor de internação tem um terminal de orientação aos clientes. O usuário deve informar o número do quarto desejado para saber a direção a tomar – direita ou esquerda – no corredor. Por algum motivo desconhecido o antigo algoritmo foi perdido sem possibilidade de recuperação, e neste caso, você deverá escrever um novo algoritmo (em pseudocódigo) para enviar à equipe de desenvolvimento da empresa contratada para refazer o programa.
Sabendo que a regra de negócio (solução) é: caso o número do quarto digitado seja PAR o usuário deve tomar o caminho da direita, do contrário à esquerda." (Fazer no DEV-C++)

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@ROBERTOHAC40   um modo mais fácil é mesmo usar o operador mod , que na linguagem C é esse  % ,  e assim no código , depois que for digitado um número pode ser assim  :

if( num % 2 == 0 )  //  se o resto da divisao do numero inteiro por dois for igual a zero
{                   //  então é certeza que esse tal numero é par mesmo .  ex.: 254 / 2 = 127 e resta 0
   // aqui é par
}

 

Link para o comentário
Compartilhar em outros sites

  • 5 semanas depois...

@Daniel Peixoto    a Que você se refere ?  ,   pois o comando for não tem nada a ver com par ou ímpar ,  ele é apenas um laço de repetição ,  que se repete quantas vezes você informa para ele repetir , e  as comparações  de par ou ímpar podem ficar dentro desse Loop For .   

Link para o comentário
Compartilhar em outros sites

Em 18/10/2021 às 15:12, ROBERTOHAC40 disse:

"caso o número do quarto digitado seja PAR o usuário deve tomar o caminho da direita, do contrário à esquerda"

nesse caso você nem precisa da informação de que ele é par, somente do resultado de %.
por exemplo com o ternário:

esse ~
(n % 2) != 0 ? printf("impar"):printf("par");
substituído por esse~
(n % 2) != 0 ? printf("vá para a esquerda"):printf("vá para a direita");

só use o laço for se tiver um número de repetições definidas. Por exemplo, se o número de clientes for inserido pelo usuário ou estiver em uma constante e você precisar repetir essa condição para exatamente esse número. Do contrário, use laços como while, until e afins.
 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...