Algoritmo para determinar la cantidad de dígitos “d” que tiene un número “n”
Enviado por Marco0414 • 15 de Noviembre de 2018 • Práctica o problema • 353 Palabras (2 Páginas) • 366 Visitas
Algoritmo para determinar la cantidad de dígitos “d” que tiene un número “n”.
Ejemplos del comportamiento esperado del algoritmo:
- Si el dígito es 3 y el número es 4378 debe retornar 1.
(Esto debido a que el dígito “3” aparece una vez en el número 4378)
- Si el dígito es 0 y el número es 10200 debe retornar 3.
(Esto debido a que el dígito “0” aparece tres veces en el número 10200)
- Si el dígito es 5 y el número es 2314 debe retornar 0.
(Esto debido a que el dígito “5” no aparece en el número 2314)
- Si el dígito es 8 y el número es 898 debe retornar 2.
(Esto debido a que el dígito “8” aparece dos veces en el número 898)
Nota: El dígito “d” debe ser menor o igual que 9. Además “d” debe ser un número entero positivo.
Por hacer:
- Utilice la heurística de resolución de problemas, determine: entradas, salidas y restricciones.
ENTRADAS: x ϵ N, n ϵ N
SALIDAS: d ϵ N
RESTRICCIONES: d ≤ 9
- Escriba el pseudocódigo del algoritmo.
Comienza
d ← 0
Mientras (n//10 > 0) o (nmod10>0) entonces
Comienza
Si nmod10 > 0 = x entonces
d ← d + 1
Si no entonces
d ← d + 0
n ← n//10
Devolver d
Terminar
Terminar
- Haga la corrida ejemplo para A y B.
x | n | d | n//10>0 | nmod10>0 | nmod10=x |
3 | 4378 | 0 | (437>0) | (8>0) | (8≠3) |
| 437 | 0 | (43>0) | (7>0) | (7≠3) |
| 43 | 0 | (4>0) | (3>0) | (3=3) |
| 4 | 1 | (0>0) | (4>0) | (4≠3) |
| 0 | 1 | (0>0) | (0>0) |
|
| |||||
x | n | d | n//10>0 | nmod10>0 | nmod10=x |
0 | 10200 | 0 | (1020>0) | (0>0) | (0=0) |
| 1020 | 1 | (102>0) | (0>0) | (0=0) |
| 102 | 2 | (10>0) | (2>0) | (2≠0) |
| 10 | 2 | (1>0) | (0>0) | (0=0) |
| 1 | 3 | (0>0) | (1>0) | (1≠0) |
| 0 | 3 | (0>0) | (0>0) |
|
| |||||
x | n | d | n//10>0 | nmod10>0 | nmod10=x |
5 | 2314 | 0 | (213>0) | (4>0) | (4≠5) |
| 231 | 0 | (23>0) | (1>0) | (1≠5) |
| 23 | 0 | (2>0) | (3>0) | (3≠5) |
| 2 | 0 | (0>0) | (2>0) | (2≠5) |
| 0 | 0 | (0>0) | (0>0) |
|
| |||||
x | n | d | n//10>0 | nmod10>0 | nmod10=x |
8 | 898 | 0 | (89>0) | (8>0) | (8=8) |
| 89 | 1 | (8>0) | (9>0) | (9≠8) |
| 8 | 1 | (0>0) | (8>0) | (8=8) |
| 0 | 2 | (0>0) | (0>0) |
|
...