Una buena enciclopedia libre...
http://es.wikipedia.org/wiki/QBASIC http://es.wikipedia.org/wiki/M%C3%A1...C3%BAn_divisor http://es.wikipedia.org/wiki/M%C3%AD..._m%C3%BAltiplo http://es.wikipedia.org/wiki/Algoritmo_de_Euclides Cita: En lenguaje C (versión recursiva):
unsigned int mcd(unsigned int a, unsigned int b){
return (b == 0)? a : mcd(b, a % b);
}
En lenguaje Logo (versión recursiva):
para mcd :a :b
sisino :b = 0 [
devuelve :a
] [
devuelve mcd :b resto :a :b
]
fin
En lenguaje C (versión iterativa):
unsigned int mcd(unsigned int a, unsigned int b){
unsigned int t;
while (a > 0){
t = a;
a = b % a;
b = t;
}
return b;
}
En lenguaje Logo (versión iterativa):
para mcd :a :b
mientras [:a > 0] [
haz "t :a
haz "a resto :b :a
haz "b :t
]
devuelve :b
fin
En lenguaje Visual Basic 8 (versión iterativa):
Public Function mcd(a As UInteger, b As UInteger) As UInteger
Dim t As UInteger
While a > 0
t = a
a = b Mod a
b = t
End While
Return b
End Function
En lenguaje Haskell (versión recursiva):
mcd::Int->Int->Int
mcd a 0 = a
mcd a b = mcd b (mod a b)
En lenguaje Pascal (versión iterativa):
function MCD(a , b:integer):integer;
var
t,result:integer;
begin
if b = 0 then
result := a
else
while a > 0 do
begin
t := a;
a := b mod a;
b := t;
result := b
end;
MCD:=result;
end;
Ahora con todo ese material solo te queda pensar un poquito...
y estudiar un poco más ....
salu2