Fórum Método pra calcular MDC #569283

16/11/2013

0

Pessoal, sei que é bem folgado da minha parte, mas preciso de ajuda. Tentei fazer minha própria lógica pra calcular o MDC (Máximo Divisor Comum) entre dois números, mas como não consegui, resolvi procurar exemplos na internet. Encontrei esse método, que funciona perfeitamente:
1
2
3
4
5
6
7
8
9
10
11
12
private void calculaMDC() {
    int valor1 = Integer.parseInt(campo_1.getText().toString());
    int valor2 = Integer.parseInt(campo_2.getText().toString());
 
    int resto;
    while (valor2 != 0) {
        resto = valor1 % valor2;
        valor1 = valor2;
        valor2 = resto;
        texto_resultado.setText("MDC = " + valor1);
    }
}
O problema é que eu não estou conseguindo decifrar o que está ocorrendo... O código está funcionando sem problemas, mas não quero apenas pegar um exemplo na internet, quero entender como ele funciona. Agradeço a quem puder me ajudar.
Kaito

Kaito

Responder

Posts

17/11/2013

André Pereira

[quote="kaito"]Pessoal, sei que é bem folgado da minha parte, mas preciso de ajuda. Tentei fazer minha própria lógica pra calcular o MDC (Máximo Divisor Comum) entre dois números, mas como não consegui, resolvi procurar exemplos na internet. Encontrei esse método, que funciona perfeitamente:
1
2
3
4
5
6
7
8
9
10
11
12
private void calculaMDC() {
    int valor1 = Integer.parseInt(campo_1.getText().toString());
    int valor2 = Integer.parseInt(campo_2.getText().toString());
 
    int resto;
    while (valor2 != 0) {
        resto = valor1 % valor2;
        valor1 = valor2;
        valor2 = resto;
        texto_resultado.setText("MDC = " + valor1);
    }
}
O problema é que eu não estou conseguindo decifrar o que está ocorrendo... O código está funcionando sem problemas, mas não quero apenas pegar um exemplo na internet, quero entender como ele funciona. Agradeço a quem puder me ajudar.
1
2
int valor1 = Integer.parseInt(campo_1.getText().toString());
int valor2 = Integer.parseInt(campo_2.getText().toString());
Nessas duas linhas são atribuídos os valores de dois componentes de texto para duas variáveis to tipo int.
1
2
3
while (valor2 != 0) {
    ...
}
Um loop para que execute enquanto a variável "valor2" for diferente 0.
1
resto = valor1 % valor2;
A variável "resto" recebe o o resto da divisão entre o valor da variável "valor1 e o valor da variável "valor2". Exemplo, 3 dividido por 2 o resto seria 1.
1
valor1 = valor2;
Atribui o valor da variável valor2 para variável valor1.
1
valor2 = resto;
Atribui o valor da variável resto para variável valor2.
1
texto_resultado.setText("MDC = " + valor1);
Seta o texto do componente "texto_resultado" com o valor da variável de valor1. Deu para entender? acho que a lógica vc sabe neh, a lógica é matemática.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar