Esta é uma página pessoal, criada inicialmente para armazenar os códigos-fontes dos programas Java desenvolvidos durante o Curso de BSI, mas agora, armazenará soluções de exercícios dos meus estudos extra acadêmicos. A ideia é permitir que estudantes iniciantes na programação Java continuem encontrando neste espaço um meio de pesquisa e estudo, portanto, serão alternativas de soluções para exercícios básicos. Buscarei disponibilizar os códigos de forma didáticos e sempre que possível comentados.
AGRADECIMENTO...
Pessoal, Gostaria de pedir desculpas aqueles que deixam perguntas/comentários/elogios/críticas e ainda não foram respondidos.
Aproveito a oportunidade para informar a todos que devido a correria do dia a dia não conclui o curso de BSI, por isso meus conhecimentos são limitados rsrsrs...
Ainda não retirei o blog do ar porque tem ajudado a diversos estudantes, principalmente os iniciantes.
As vezes, quando o trabalho me permite, ainda arrisco tentar resolver algumas questões rs... mas para não deixar esse blog parar no tempo, o ESTUDANTE que quiser enviar a resolução de alguma questão (código próprio) para o meu e-mail, terei o prazer de posta-la neste blog e será mantido a autoria.
Desde já agradeço a todos pelas visitas e desejo bons estudos.
Thiago Campos
(srthiago@hotmail.com)
quinta-feira, 13 de setembro de 2012
Cálculo do MDC utilizando função recursiva e JOptionPane.
Escreva uma função recursiva para calcular o máximo divisor comum de dois números inteiros positivos da seguinte maneira:
Mdc(x, y) = y se ( y≤ x) e x mod y = 0;
Mdc(x,y) = Mdc(y, x) se (x < y);
Mdc(x,y) = Mdc(y, x mod y) caso contrário
Código Java
//Autor: Thiago Campos
//Data: 12.09.2012
import javax.swing.JOptionPane;
/**
*
* @author Thiago
*/
public class Mdc {
public static void main(String[] args){
//variaveis
Mdc f = new Mdc(); //instanciando a variavel f
int x, y;
//entrada dos dados
x = Integer.parseInt(JOptionPane.showInputDialog("Informe x:"));
y = Integer.parseInt(JOptionPane.showInputDialog("Informe y:"));
//saida dos dados
JOptionPane.showMessageDialog(null, "O MDC é: " + f.mdc(x,y));
}//fim do main
/*------------------------------------------------------------------------------
* FUNÇÃO RECURSIVA - MDC
-------------------------------------------------------------------------------*/
public int mdc(int x, int y){
if (x<=y || x%y==0){ //condição de parada
return y;
}else{
if(x<y){
return mdc(x,y);
}else{
return mdc(y, x%y);
} //fim do else
} //fim do 2º if
} // fim da função
} //fim da classe
Assinar:
Postar comentários (Atom)
Codigo em C
ResponderExcluir#include
int mdc (int x, int y){
if(y<=x && x%y==0)
return y;
else
if (x<y)
return mdc(y,x);
else
return mdc(y,x%y);
}
int main (){
int a,b,i;
printf("Digite dois numeros inteiros:");
scanf("%d %d", &a, &b);
printf("MDC(%d , %d)= %d \n", a, b, mdc(a,b));
return 0;
}
Não entendi a postagem, acho que você quis mostrar como ficaria em C. Sendo assim, lembro-lhe apenas que este código (o meu) poderia ficar menor mas que optei por uma forma mais fácil para compreensão dos iniciantes.
Excluir