Funções ímpares e pares na programação em C

Você pode facilmente encontrar números ímpares e pares em C.

O operador do módulo em C

O operador do módulo em C (representado como o símbolo '%') atua como um tipo de divisão. Mas, em vez de dividir dois números e retornar o quociente para o usuário, o operador do módulo divide dois números e retorna o restante como um número inteiro. Neste exemplo, ocorrem duas operações de módulo, cada uma retornando um valor idêntico:

int x = 11% 4 // resto de 11/4 = 3 int e = 13% 5 // resto de 13/5 = 3

Use o módulo para determinar números pares e ímpares

Como a operação do módulo determina o restante de uma divisão entre dois números, parece lógico que o operador do módulo seja usado para encontrar números ímpares e pares. Um número par, por definição, é qualquer número divisível por 2. Portanto, o número retorna um zero ao obter o módulo da divisão por 2. Mais simplesmente, um número "n" é mesmo se "n% 2" é igual a zero. Por exemplo, esse código define uma função que recebe um inteiro e retorna um inteiro (0 ou 1), dependendo de o número ser par ou não.

int isEven (int x) {retorno (x% 2); }

Uma função de geração de números pares e ímpares

Usando a operação do módulo, parece simples criar uma função que gera números ímpares ou pares. Um programador pode achar útil gerar uma lista de números pares e ímpares. Nesse caso, um loop for simples e um tamanho de campo inserido pelo usuário é a única coisa que você precisa para criar uma coleção de números:

void evenGenerate (tamanho int) {int i = 0;

para (i; i <= tamanho; i ++) {if (i% 2 == 0) cout << i << endl; }}

Isso gera números pares. O programador pode alterar a instrução "if" para dizer "if (i% 2 == 1)" para gerar números ímpares.

Alternativas ao módulo

O módulo em si não é uma operação simples, mas contém três cálculos matemáticos em um. Isso ocorre porque a operação "x% y" é realmente igual a "x - y * (x / y)". Sabendo disso, um programador pode dividir a operação ou encontrar maneiras de incorporar as partes da operação a outras operações para otimizar o tempo. Mas, para uso e facilidade geral na codificação, o operador do módulo funciona bem. O seguinte serve como um exemplo de dois métodos juntos em C:

int x = 10% 2; // 10/2 = 5 sem resto int y = 10 - (2 * (10/2)); // Em ordem de operação, 10/2 = 5; 5 * 2 = 10; 10 - 10 = 0 restante