Encontrar cuadrados en un vector – Curso Octave

octave

NOTA: este tutorial es parte del curso de Octave de Linux Hispano.

Os voy a proponer un pequeño ejercicio a resolver. Más adelante tenéis la solución pero en un principio me gustaría que lo intentáseis por vosotros mismos.

El ejercicio es el siguiente: Crea una función, hay_cuadrados.m, que reciba un vector de números. Dicha función devuelve true si uno de los números es un cuadrado de uno de los otros números. De lo contrario devuelve false.

Y ésta es la solución:

function y = hay_cuadrados(x)

y = false;

for i = 1:length(x)
    aux = x(i)^2;
    if ~all((x == aux) == 0)
        y = true;
    end
end

end