//-----------------------------------------------------------------
// m.c.d. de tres nombres enters positius
//
// Joan Aranès Clua
// data: 17/12/2001
//
// Aquest programa calcula el m.c.d.{m,n,p}
//-----------------------------------------------------------------
#include <stdio.h>
//declaració de la funció que calcula el m.c.d. de dos n. enters positius:
int mcd(int,int);
//
void main()
{
int m,n,p; // variables corresponents a les dades d'entrada
printf("Introdu\x08Bu tres nombres enters separats per un espai\n");
scanf("%d %d %d",&m,&n, &p);
printf("\n\nmcd(%d,%d,%d) = %d\n",m,n,p, mcd(mcd(m,n),p));
}
int mcd(int x,int y)
{
int reste; // reste i quocient de les divisions
int dividend,divisor;
// DIVISIONS SUCCESSIVES
// primera divisió:
dividend=(x>y)?x:y;
divisor=(y<x)?y:x;
reste=dividend%divisor;
// per a les divisions següents
// s'asigna al nou divisor el valor de l'antic reste
// fins arribar a una divisió amb reste nul
// el divisor d'aquesta darrera divisió és el m.c.d.{x,y}
while(reste>0)
{
dividend=divisor;
divisor=reste;
reste=dividend%divisor; //
}
return divisor;
}
Un blog con cuestiones, ejercicios, problemas, aplicaciones y comentarios relacionados con los contenidos de Matemáticas del primer curso de Bachillerato en las modalidades de Ciencias y Tecnología
lunes, 1 de octubre de 2001
Cálculo del máximo común divisor de tres números enteros positivos. Un ejercicio de programación en C/C++
Etiquetas:
gcd,
máximo común divisor,
mcd,
teoría elemental de números
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario
Gracias por tus comentarios