Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/01/2014, 18:27
Avatar de Payaso73
Payaso73
 
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 15 años
Puntos: 20
Respuesta: divisores de un numero de mayor a menor

Cita:
Iniciado por RaKKoS Ver Mensaje
...al parecer tu los quieres de mayor a menor...
Eso me pasa por leer rápido

Otra opción a la que hizo RaKKoS es modificando estas lineas de tu código

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main(void) {  
  4.     int numero;
  5.     int divisor;
  6.    
  7.     printf("número: ");
  8.     scanf("%d", &numero);
  9.    
  10.     divisor=numero; /* Linea agregada */
  11.    
  12.     while (divisor >= 1) {  /* Linea modificada */
  13.         if (numero % divisor == 0) {
  14.             printf("%d\n", divisor);
  15.         }
  16.         divisor--; /* Linea modificada, resta ya que empieza de mayor a menor*/
  17.     }
  18.    
  19.     return 0;
  20. }

Te comenté en el mismo código las modificaciones que hice.

La idea del programa es igual a como lo hiciste vos pero empezando de mayor a menor, por eso primero igualo el divisor al numero ingresado y se le resta hasta llegar a 1, ya que el maximo divisor va a ser el propio numero y el menor divisor será el 1.

Espero te sirva.
Saludos