Máximo divisor comum

De GNU Octave
Revisão em 15h57min de 14 de janeiro de 2013 por Jgrocha (Discussão | contribs) (Criou nova página com 'O Octave já tem uma função que nos calcula o máximo divisor comum, designada gcd. No entanto, vamos escrever uma nova função baseada no [http://pt.wikipedia.org/wik...')

(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Ir para: navegação, pesquisa

O Octave já tem uma função que nos calcula o máximo divisor comum, designada gcd. No entanto, vamos escrever uma nova função baseada no Algortimo de Euclides.

Raciocínio:

a = 252
b = 105
while (a!=b)
	if (a>b)
		a=a-b
	else
		b=b-a
	endif
endwhile
disp(a)

Execução

>>> euclides
a =  252
b =  105
a =  147
a =  42
b =  63
b =  21
a =  21
 21
>>>

Script completa

a = input('a?');
b = input('b?');
while (a!=b)
	if (a>b)
		a=a-b;
	else
		b=b-a;
	endif
endwhile
disp(a)