Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/11/2007, 13:29
Avatar de dogduck
dogduck
 
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 19 años, 1 mes
Puntos: 19
Re: qBASIC ¿MAXIMO COMÚN DIVISOR?¿MÍNIMO COMÚN MULTIPLO?

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