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.