Programa para obtener los factores de un número



Para apoyar el contenido de la entrada Bucles o estructuras de repetición I: for, se expone como ejemplo un programa que utiliza for para iterar sobre un rango y sobre una lista.

Objetivo:

Obtener y mostrar todos los factores de un número positivo determinado.

Recuerda que los factores de un número son aquellos números cuyo producto dan como resultado ese número, o dicho de otro modo, son los términos en que se puede descomponer multiplicativamente ese número; y que podemos obtener los factores de un número comprobando si ese número es divisible por todos y cada uno de los números que hay desde el 1 hasta ese número.

Solución:

fun main(args: Array<String>) {    
    val numero = 72
    val listaFactores: MutableList<Int> = mutableListOf() // lista para guardar los factores    
    print("Los factores de $numero son: ")
    for (i in 1..numero) { // bucle sobre un rango
        if (numero % i == 0) { // si se cumple la condición, es un factor
            print("$i ")
            listaFactores.add(i)
        }
    }
    println()
    var contadorSize = 1
    for (n in listaFactores) { // bucle sobre una lista   
        if (contadorSize <= listaFactores.size/2) {
            println ("$n * ${numero / n} = ${n * numero / n}")                    
        }
        contadorSize++
    }
}
Y el resultado es:
Los factores de 72 son: 1 2 3 4 6 8 9 12 18 24 36 72 
1 * 72 = 72
2 * 36 = 72
3 * 24 = 72
4 * 18 = 72
6 * 12 = 72
8 * 9 = 72

Comentarios

Entradas populares

I/O: entrada y salida de datos en consola

Recursos gratis para aprender Kotlin

Lectura y escritura de archivos