/* Faça uma função de protótipo int contaDigitos (int n, int d) que recebe um inteiro n > 0 e um dígito 0 <= d <= 9 e devolve o número de ocorrências do dígito d no número n. n = 1234523 d = 3 --> 2 n = 100789 d = 5 --> 0 Dados dois números positivos a e b, imprima quantos números do intervalo [a,b] não têm dígitos repetidos. Ex: a = 87, b = 104, a resposta deve ser 14 a = 989, b = 1022, a resposta deve ser 0 a = 1234, b = 1234, a resposta deve ser 1 */ #include int contaDigitos (int n, int d); /* recebe n > 0 e 0 <= d <= 9 e devolve quantas vezes d ocorre em n */ int contaDigitos (int n, int d) { int cont = 0; while (n > 0){ if (n % 10 == d){ cont++; } n = n / 10; } return (cont); } int main() { int a, b, num, cont, ip, d; printf("Digite 0 < a <= b: "); scanf ("%d %d", &a, &b); cont = 0; for (num = a; num <= b; num++){ /* se não tem dígitos repetidos */ ip = 0; for (d = 0; d <= 9 && ip == 0; d++){ if (contaDigitos (num, d) > 1){ ip = 1; } } if (ip == 0) cont ++; } printf("No intervalo [%d,%d] temos %d números sem dígitos repetidos\n", a, b, cont); return 0; }