#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