Mínimo Multiplo Comum
Publicado por saymon castro de souza 05/11/2007
[ Hits: 9.788 ]
Senhores, segue o código fonte de um programa em C que resolve o cálculo do MMC.
#include<stdio.h>
#define tam 15
/*
Versão 1.0
Feito por:
Saymon Castro
Desenvolvido em linguagem c
*/
/*assinatura das funções*/
int prox_primo(int a);
int main(){
int qtde, i, primo=2, k=0, j, aux;
int qt_um=1;
printf("Digite a qtde de numeros: ");
scanf("%d",&qtde);
int mat[tam][qtde+1];
for(i=0;i<tam;i++){
for(j=0;j<=qtde;j++)
mat[i][j] = 0;
}
for(i=0;i<qtde;i++){
printf("\nNumero MMC: ");
scanf("%d",&mat[0][i]);
}
i = 0;
while(qt_um < qtde){
aux = 1;
while(aux != 0){
aux = 0;
for(j=0;j<qtde;j++){
if ((mat[i][j] % primo) == 0){
mat[i+1][j] = (mat[i][j] / primo);
mat[i][qtde] = primo;
aux++;
}
else
mat[i+1][j] = mat[i][j];
}
if (aux == 0)
i--;
i++;
}
primo = prox_primo(primo);
for(j=0;j<qtde;j++)
if(mat[i][j] == 1)
qt_um++;
else
qt_um = 1;
}
/*imprimindo a matriz*/
for(i=0;i<tam;i++){
printf("\n\n");
for(j=0;j<=qtde;j++)
printf("%d\t",mat[i][j]);
}
int mmc = mat[0][qtde];
printf("\n\n");
printf("%d",mat[0][qtde]);
for(i=1;mat[i][qtde]!=0;i++){
mmc *= mat[i][qtde];
printf(" x %d",mat[i][qtde]);
}
printf(" = %d\n\n",mmc);
system("pause"); /*se for no linux comente esta linha*/
}
int prox_primo(int a){
int i, k=1;
while(k>0){
k=0;
a++;
for(i=2;i<a;i++){
if((a % i) == 0)
k++;
}
}
return a;
}
Quantos números primos você quizer!!!
Nenhum comentário foi encontrado.
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Conky não mostra temperaturas da CPU no notebook (2)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (0)









