Foros del Web » Programación para mayores de 30 ;) » C/C++ »

duda !!!

Estas en el tema de duda !!! en el foro de C/C++ en Foros del Web. Hola a todos tngo un problema espero m puedan ayudar bueno estoy tratando de hacer los divisores d un numero encontre una forma ... por ...
  #1 (permalink)  
Antiguo 09/09/2008, 00:18
 
Fecha de Ingreso: agosto-2008
Ubicación: Mi casa!!! Perú-Aqp
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 0
duda !!!

Hola a todos tngo un problema espero m puedan ayudar
bueno estoy tratando de hacer los divisores d un numero encontre una forma ...

por ejemplo del 12

12 / 1 = 12 se pregunta 1<12 si entoncs hac lo de abajo .....
12/ 2 = 6 pregunta 2 < 6 si hace lo de abajo
12/ 3=4 3 < 4 si hac lo siguient
12 / 4 = 3 pregunta 4<3 no ahi se detiene


pues como veran .....
los numeros en rojo son los divisores ....pero los resultados tb ...entonces solo hace n/2 divisiones .........entonces trate de pasar esto a codigo
pero me esta repitiendo los divisores y no se como arreglarlo

void d(int y)
{
int cociente;
int resu=2;
int inicio=1;
int m;


cout<<inicio<<" ";
for( int i=2;i<=resu; i++)

{
resu=y/i;

if (y%i==0)

{
cout<<i<<" "<<resu<<endl;

}

}

}
int main()
{
int x;
cout<<"ingrese numero"<<endl;
cin>>x;
d(x);
}
  #2 (permalink)  
Antiguo 09/09/2008, 05:06
Avatar de WaRc3L  
Fecha de Ingreso: agosto-2008
Ubicación: My House
Mensajes: 89
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: duda !!!

Haver, lo primero que tienes que hacer, es analizar el problema.

Primero, solo un numero es constante, el numero 12 en este ejemplo.

Segundo, Dos numeros cambian, uno es el resultado de la division y el otro es el divisor.


Tercero, Se va dividiendo hasta que que el resultado de la division sea mas pequeño que el divisor.

( Hay 3 variables obligatorias, las otras seran opcionales )

Si tienes un esquema, de como lo tienes que hacer, es muy facil.

Tienes que hacer lo siguiente:

Código:
int Fun(int Valor)
{
    int Divisor = 1;
    int Resu = Valor/Divisor;
    int Modulo = Valor % Divisor;

    for ( int i=0;Divisor<Resu;i++)
    {
          if ( Modulo == 0 )
          {
              cout << Valor << "/" << Divisor << "=" << Resu << endl;
              Divisor++;
          }
          else
          {
              Divisor++;
          }

    }
 
}
No se si seria eso, pruevalo, si tienes alguna duda, por favor, comentame

Saludos! y espero que te haya ayudado!
__________________
Habla tu lenguaje favorito! Habla C++!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:05.