elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda para terminar el codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda para terminar el codigo  (Leído 2,133 veces)
Riskettos

Desconectado Desconectado

Mensajes: 3


Ver Perfil
ayuda para terminar el codigo
« en: 6 Noviembre 2017, 22:24 pm »

hola amigos, tengo que diseñar un codigo que me diga los div comunes de dos numeros y no consigo terminarlo, el codigo es el siguiente como veran una vez saco los factores de los dos numeros no se seguir


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int  main()
{
    int A, B, i, j, Div1, Div2, Prove1, Prove2, FactorA, FactorB;
    printf("ALGORITMO QUE CALCULE LOS DIVISORES DE 2 NUMEROS, SU MCD Y MCM, presione intro al dar valores n\n\n");
    printf("Inserte el primer numero \n");
    scanf("%d",&A);
    printf("Inserte el segundo numero \n");
    scanf("%d",&B);
    for(i=1;i<=A;i++){
        Div1=(A/i);
        Prove1=(Div1*i);
        if(Prove1==A){
            printf("\n %d Es divisor de %d \n",i,A);
        }
    }
    for(j=1;j<=B;j++)
    {
        Div2=(B/j);
        Prove2=(Div2*j);
        if(Prove2==B){
            printf("\n %d es divisor de %d \n",j,B);
        }
    } 
    if((Prove1==A)&&(Prove2==B)){
        printf("\n %d es divisor comun \n",     );
    }
system ("pause");
return 0;
}
   
       


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: ayuda para terminar el codigo
« Respuesta #1 en: 7 Noviembre 2017, 16:55 pm »

No sé si debes sacar el factor común de los números porque te lo pide el ejercicio, pero si no es así usa el algoritmo de Euclides. Este algoritmo es fácil de implementar para un ordenador y con muy poco código da la solución.


En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: ayuda para terminar el codigo
« Respuesta #2 en: 8 Noviembre 2017, 05:53 am »

En vez de hacer 2 ciclos, haz solo 1. Desde 2 hasta el menor de los 2 números.
Por cada vuelta calcula el módulo de ambos número respecto al índice.
Si dan cero ambos, ahí tienes un divisor.
No puede haber divisores mayores que el mínimo de ambos, por eso el fin del loop es el mínimo de ambos.
En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda para terminar WALLPAPER
Diseño Gráfico
Sub_Cero 3 2,308 Último mensaje 26 Enero 2005, 03:33 am
por Sub_Cero
NECESITO AYUDA PARA TERMINAR EL AUTOCLICK
Programación Visual Basic
nacho91 2 1,773 Último mensaje 27 Enero 2007, 05:18 am
por nacho91
necesito ayuda para terminar un juego de ajedrez
.NET (C#, VB.NET, ASP)
xXedilXx 3 3,277 Último mensaje 23 Diciembre 2009, 15:22 pm
por Skeletron
Ayuda o consejos para terminar este programa con asteriscos
Programación C/C++
UV09 2 1,445 Último mensaje 9 Abril 2015, 21:16 pm
por DarK_FirefoX
Necesito ayuda para terminar mi programa
Programación C/C++
bmillar 0 1,073 Último mensaje 4 Agosto 2018, 22:00 pm
por bmillar
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines