Código de Dev - C++ - Calcular el mínimo común múltiplo de varios números

<<>>
Imágen de perfil

Calcular el mínimo común múltiplo de varios númerosgráfica de visualizaciones


Dev - C++

Publicado el 8 de Noviembre del 2019 por Administrador
203 visualizaciones desde el 8 de Noviembre del 2019
Este programa os ayudara a calcular el mínimo común múltiplo de varios números, asta un máximo de 100 números.

Se introduce la cantidad de números de los que queréis calcular el m.c.m. , y posteriormente, decís cuales son. El programa buscara de entre todos sus múltiplos, cual es el correcto. Existe un máximo de intentos para el programa. Si por ejemplo el mínimo común múltiplo de los números que pedís, el programa no logra encontrarlos en el numero de oportunidades posible, dirá que el programa no ha sido capaz de encontrar ninguno, pero que de forma automática, genera un múltiplo de todos ellos, que no tiene por que ser el m.c.m, pero algo es algo (lo hace con el producto entre todos los números).

minimo-comun-multiplo-de-varios-numeros

20171114

Publicado el 8 de Noviembre del 2019gráfica de visualizaciones de la versión: 20171114
203 visualizaciones desde el 8 de Noviembre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella


Forma parte de Todo en Lenguaje C
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <string.h>
 
int main()
{
    printf("  **  CALCULADORA DEL m.c.m  **   \n\n");
    int cantidad_numeros;
    int i, j, k=1;
    printf("  Aqui calcularemos el m.c.m de los numeros que digas hasta un maximo de 100 numeros.\n  Si lo solicita de mas de 100 numeros, el programa dara error y se cerrara.");
    printf("\n\n  Diga de cuantos numeros quiere hacer el m.c.m:  ");
    scanf(" %d", &cantidad_numeros);
    if(cantidad_numeros<2)
    {
        printf("\n\n  No puede hacer el m.c.m. de solo 1 numero.");
        return 0;
    }
    if(cantidad_numeros>100)
    {
        printf("\n\n  Ha pedido demasiados. Se lo avisamos. El programa se cierra.");
        return 0;
    }
    int vector_numeros[cantidad_numeros];
    printf("\n  Bien. Ahora diga de que numeros quiere que hagamos la operacion:  \n");
    for(i=0;i<cantidad_numeros;i++)
    {
        printf("  %dºnumero:  ", k);
        scanf(" %d", &j);
        vector_numeros[i] = j;
        k++;
    }
    int limit_multiplos = 999;
    int matriz_multiplos[cantidad_numeros][limit_multiplos];
    int x, y, z=1;
    for(i=0;i<cantidad_numeros;i++)
    {
         for(j=0;j<limit_multiplos;j++)
         {
             x = vector_numeros[i];
             y = x * z;
             z++;
             matriz_multiplos[i][j] = y;
         }
         z=1;
    }
    int h=0, w, p;
    int multiplo_por_defecto=1, aaa;
    int primer_multiplo = matriz_multiplos[0][h];
    for(i=1;i<cantidad_numeros;)
    {
        for(j=0;j<limit_multiplos;)
        {
            if(primer_multiplo == matriz_multiplos[i][j])
            {
                w = primer_multiplo;
                i++;
                j=0;
            }
            else
            {
                j++;
                p = j;
            }
            if((j == limit_multiplos)  &&  (h != limit_multiplos))
            {
                h++;
                primer_multiplo = matriz_multiplos[0][h];
                i=1;
                j=0;
            }
            if((h == limit_multiplos-1) && (j == p))
            {
                printf("\n\n  Lo siento, pero no hay ningun m.c.m al alcance del programa.");
                for(i=0;i<cantidad_numeros;i++)
                {
                    aaa = vector_numeros[i];
                    multiplo_por_defecto = multiplo_por_defecto * aaa;
                }
                if(multiplo_por_defecto<=100000000)
                {
                printf("\n  Aun asi, por defecto se crea un multiplo comun de todos sus numeros, que es el %d", multiplo_por_defecto);
                }
                else
                {
                printf("\n  Ademas, el multiplo comun generado en estos casos tambien es excesivamente grande para poder mostrarlo.\n  Lo siento.");
                }
                return 0;
            }
            if((i == cantidad_numeros) && (primer_multiplo == w))
            {
                printf("\n\n  El m.c.m del conjunto de tus numeros es %d", primer_multiplo);
                return 0;
            }
        }
    }
    return 0;
}



Comentarios sobre la versión: 20171114 (0)


No hay comentarios
 

Comentar la versión: 20171114

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5636