Implementar un algoritmo que determine si dos números son amigos.
Solución
Ingresamos dos números a los cuales les extraeremos sus divisores para luego determinar si estos números son amigos.
Ejemplo
- Entrada: 220 y 284
Suma de Divisores 284: 1+2+4+71+142 = 220
Son amigos por que la suma de los divisores de un número es igual al otro número.
- Salida: Son números amigos
Llamamos a la subrutina SumarDivisores con parámetros n1, sum1 , volvemos a llamar a la subrutina SumarDivisores con los parámetros n2, sum2.
Creamos una condicional que verificara si (sum1 = n2) AND (sum2 = n1)
Si es Verdadero (Si)
Mostrará que los números son amigos
Si es falso (No)
Mostrará que los números no son amigos
En la subrutina SumarDivisores, crearemos un bucle de tipo For el cual tendrá como índice de recorrido inicializado en 2 y terminara el bucle cuando llegue a la mitad del número (porque solo se consideran los divisores propios), se iterara la variable i se incrementa en 1 en cada ciclo.
Verificamos si (n MOD i) = 0 esto es para verificar si el número es múltiplo
Si es Falso (No)
Continuamos con el ciclo
Si es Verdadero (Si)
Actualizamos el valor de Sum1 con i + sum1
Continuamos con el ciclo
Terminamos el ciclo For
Verificamos si (n MOD i) = 0 esto es para verificar si el número es múltiplo
Si es Falso (No)
Continuamos con el ciclo
Si es Verdadero (Si)
Actualizamos el valor de Sum1 con i + sum1
Continuamos con el ciclo
Terminamos el ciclo For
Diagrama Fuente DFD | ||
Código fuente en Java | ||
Código fuente en C++ | ||
Código fuente en C | ||
Código fuente en C# | ||
Código fuente en Python | ||
Código fuente en Visual Basic |
0 comentarios:
Publicar un comentario