none
¿Determinar los divisores de un numero(textbox) y mostrar en un Listbox ? RRS feed

Respuestas

  • Si el número no es muy grande, una forma sencilla de determinar sus divisores es simplemente probarlos todos. Basta con escribir un bucle que vaya iterando desde 1 hasta el propio número, y haciendo la operación "módulo" (que en c# se hace con el símbolo "%") entre el número buscado y el índice del bucle. Si el módulo es cero, quiere decir que la división era exacta y por tanto el índice por el que hemos dividido era un divisor.

    Desde un punto de vista matemático, esto no es muy eficiente que digamos, pero desde el punto de vista de la programación es seguramente la solución más simple.

    Solo son tres líneas de código. Perdona que no te las escriba, pero en el foro no podemos dar la solución final de los ejercicios académicos. Tendrás que poner lo que lleves hecho hasta el momento, e indicar qué errores o problemas te da, y entonces podemos dar "pistas" sobre cómo arreglarlos.


    Editado: Una pista más si deseas mejorar la eficiencia: No es necesario probar todos los números hasta alcanzar el original, basta probar hasta su raíz cuadrada siempre que vayas guardando los números que ya encontraste y el resultado de dividir por ellos, que te da el resto de los divisores.
    domingo, 24 de junio de 2018 19:21
    Moderador

Todas las respuestas

  • Hola Antony SAm H:

    Ponga el código que ha intentado implementar, y donde tiene problemas, y seguro que alguien verá buena intención por su parte, y le ayudará.

    Un saludo

    domingo, 24 de junio de 2018 19:15
  • Si el número no es muy grande, una forma sencilla de determinar sus divisores es simplemente probarlos todos. Basta con escribir un bucle que vaya iterando desde 1 hasta el propio número, y haciendo la operación "módulo" (que en c# se hace con el símbolo "%") entre el número buscado y el índice del bucle. Si el módulo es cero, quiere decir que la división era exacta y por tanto el índice por el que hemos dividido era un divisor.

    Desde un punto de vista matemático, esto no es muy eficiente que digamos, pero desde el punto de vista de la programación es seguramente la solución más simple.

    Solo son tres líneas de código. Perdona que no te las escriba, pero en el foro no podemos dar la solución final de los ejercicios académicos. Tendrás que poner lo que lleves hecho hasta el momento, e indicar qué errores o problemas te da, y entonces podemos dar "pistas" sobre cómo arreglarlos.


    Editado: Una pista más si deseas mejorar la eficiencia: No es necesario probar todos los números hasta alcanzar el original, basta probar hasta su raíz cuadrada siempre que vayas guardando los números que ya encontraste y el resultado de dividir por ellos, que te da el resto de los divisores.
    domingo, 24 de junio de 2018 19:21
    Moderador