Ir para conteúdo
Fórum Script Brasil
  • 0

MDC de dois números inteiros positivos utilizando o algoritmo de Eucl


Verônica M.

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

o algoritmo de euclides você encontra o codigo no google.

mas acho q o exercicio é você fazer o seu proprio codigo ne??

nesse caso, você pode ir tirando o resto de todos os numeros ate chegar no maior dos dois. o ultimo numero q tiver dado resto 0 é o maximo divisor comum.

mas ai você pode tentar pensar em formas de evitar divisao desnecessaria.

Link para o comentário
Compartilhar em outros sites

  • 0
o algoritmo de euclides você encontra o codigo no google.

mas acho q o exercicio é você fazer o seu proprio codigo ne??

nesse caso, você pode ir tirando o resto de todos os numeros ate chegar no maior dos dois. o ultimo numero q tiver dado resto 0 é o maximo divisor comum.

mas ai você pode tentar pensar em formas de evitar divisao desnecessaria.

Entendendo como funciona:

Euclides utilizou um método para o cálculo do máximo divisor comum (m.d.c.) de dois números que ficou conhecido precisamente por algoritmo de Euclides.

Este método é em muitas situações mais prático de utilizar do que o método da intersecção dos conjuntos de divisores e do método da decomposição em factores primos. Além disso, é muito mais simples de traduzir por um programa de computador.

Para cálcular o m.d.c.de 33 e 48:

1) Divide-se o maior número pelo outro.

48 ÷ 33 dá 1, resto 15

O resto não é zero.

2) O divisor passa a dividendo, o resto passa a divisor e divide-se de novo.

33 ÷ 15 dá 2, resto 3

3) Como o resto não é zero, repete-se novamente 2)

15 ÷ 3 dá 5, resto 0

Agora, finalmente, a divisão não deixou resto; e o último resto diferente de 0 é o máximo divisor comum.

Em C isso ficaria:

#include <stdio.h>
#include <stdlib.h>

main()
{
    int n1,n2,resto;
      

    printf("Digite dois numeros: ");
    scanf("%d%d", &n1, &n2);
              
              
              resto=n1%n2;
              while(resto!=0)
              {
                  n1    = n2;
                  n2    = resto;
                  resto = n1%n2;         
              }
              printf("MDC = %d\n", n2);
              system("pause");
}

Com esse código em C você calcula o MDC de qualquer número. Você poderia fazer uma função também, para calcular o MDC de quantos número você quiser.

Espero ter ajudado.

Abraços!

Editado por Andre_Luiz
Link para o comentário
Compartilhar em outros sites

  • 0

pessoal eu preciso fazer um programa e nao entendi bulufas, fiquei o sábado todo tentando, se trata de :

 

Imagine que COMM(N,K) representa o número de diferentes comitês de k pessoas, que pode ser formados, dadas n pessoas a partir das quais escolher. por exemplo, COMM(4,3) =4, porque dadas quatro pessoas, A, B, C  e D existem quatro possíveis comitês de tres pessoas : ABC, ABD, ACD e BCD. demonstre a identidade:

COMM(N , K) = COMM(N - 1,K) + COMM(N - 1, K - 1)

ESCREVA E TESTE um programa recursivo em C para calcular COMM(N,K) para n,k >=1.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...