Pessoal, estou tentando descobrir o melhor método para ler um número e excluir algarismos desse número, obtendo um novo número sem os algarismos excluídos (desculpem-me pela redundância). Abaixo explico melhor minha tentativa. Não pretendo que resolvam o problema, mas apenas me apontem o que está errado nessa parte do código, indicando o melhor caminho para a solução. Já modifiquei o código várias vezes que já nem sei mais o que estou fazendo. Pelas simulações que fiz (alterando meu código para imprimir a saída após cada loop, verifiquei que as divisões não estão saindo conforme esperava). Como exemplo, suponha que eu tenha essas duas variáveis: n1_original = 4621 n2_original = 3625 A idéia é comparar as duas variáveis acima e, encontrando algarismos iguais ocupando casas decimais iguais, retirar esses algarismos de n1 e n2, obtendo novas variáveis; por exemplo após retirar o '2' e o '6' de n1 e n2 e, guardando os novos valores em n1_novo e em n2_novo, respectivamente, obteria: n1_novo = 41 e n2_novo = 35. Pois o algarismo 2 está presente nos dois números ocupando a casa das dezenas, o mesmo ocorre com o algarismo 6, ocupando a casa das centenas. Para isso, declaro uma outra variável, que chamarei de "divisor" que será útil aqui, e vou comparando os restos das divisões de n1 e n2 por 10. Ou seja: /* declarações de variáveis (todas inteiras) */ int n1_original, n2_original, n1 = n1_original, n2 = n2_original, n1_novo = n1, n2_novo = n2, divisor = 10; E teria um loop que ficaria assim: while(n1 > 0){ if(n1%10 == n2%10){ /* aqui entra um contador, mas não interessa na minha dúvida */ /* se o algarismo das unidades não for excluído */ if(n2_novo%10 != n1_novo%10){ n1_novo = (n1_original/divisor)*(divisor/10) + n1_novo%(divisor/10); n2_novo = (n2_original/divisor)*(divisor/10) + n2_novo%(divisor/10); } /* se o algarismo das unidades for excluído */ else{ n2_novo = n2_original/divisor; n1_novo = n1_original/divisor; } }/*fim if */ n1 = n1 / 10; n2 = n2 / 10; divisor = divisor*10; } /*fim while */ Minha dúvida é mais quanto à linha: n1_novo = (n1_original/divisor)*(divisor/10) + n1_novo%(divisor/10); Bom, desculpem-me pela longa mensagem, mas achei que ficaria mais fácil de explicar o que estou tentando fazer incluindo parte do meu código aqui. Agradeço qualquer orientação.