Algoritmo que imprima Divisores - Ayuda!

Podrían por favor ayudarme con un algoritmo:

Dado una valor N entero con N positivo, Imprima todos sus divisores, de la manera mas atenta les agradeceré su ayuda soy nuevo en esto y aun no lo comprendo bien

1 Respuesta

Respuesta
1

Este es un claro ejemplo de que hay que cambiar de forma de pensar cuando estamos buscando un algoritmo.

Primero, ¿Qué es un divisor? Los divisores de un número son aquellos valores que dividen al número en partes exactas. Así, dado un número a, si la división a/b es exacta (el resto es cero), entonces se dice que b es divisor de a.

Segundo, ¿Cuál es el mayor divisor de N? N ¿Y el menor? 1

Por lo tanto, tenemos toda la información para hacer el algoritmo.

Algoritmo:

1.- Tenemos que hacer un bucle de 1 hasta N (indice)

2.- Si el resto o modulo de N/indice = 0, imprimimos indice

3.- Se repite el bucle hasta llegar a N

Espero haberte ayudado. Saludos y no te olvides de puntuar.

Experto,

gracias por tomar el tiempo y revisar mi pregunta, este es mi primer ejercicio de algoritmos podrías ayudarme por favor con el código, no comprendo bien como hacerlo :(

Saludos

Ulises

En principio, con el algoritmo que te pasé y un buen libro de cualquier lenguaje de programación tendrías de forma directa el programita.

Todo lo que hay en este código es básico y en este área de especialización como es la programación de ordenadores, te aconsejo que empieces a pensar en que tendrás que encontrar muchas veces la solución por tus propios medios.

Si te diese el código mascado, no aprenderías nada. Por lo tanto, creo que darte el código sin mas, no te beneficia en nada, mas al contrario supone un grave perjuicio para ti, al no adquirir la costumbre de pensar por ti mismo.

De todas formas, contrariamente a mi forma de pensar y, sin que sirva de precedente, aquí tienes el código (simple a mas no poder).

#include <stdio.h>

#include <math.h>

int main (int argc, char **argv) {
int n;

/* 1.- Obtenemos el numero del que queramos calcular los divisores */

printf ("Introduce el numero del que quieras obtener los divisores");

scanf (&n);

/* 2.- Tenemos que hacer un bucle de 1 hasta N (indice)*/
for (indice =1; indice <= n; indice++)
/* 3.- Si el resto o modulo de N/indice = 0, imprimimos indice */
if (mod (n / indice) == 0) printf (%d ", ",indice);

/* 4.- Retornamos con un valor de OK

return 0;

}

Saludos y no te olvides de puntuar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas