viernes, 6 de mayo de 2011

Parte cuadrada y parte libre (Solución)

Los primeros números en los que la parte cuadrada es una unidad mayor que la parte libre son:


12, 240, 1260, 20592, 38220, 65280, 104652, 159600, 233772, 809100, 1047552, 1335180, 1678320, 2083692, 2558400, 3109932, 7308912, 8500140...

(Secuencia A189883 de OEIS propuesta por este blog)

Puedes crear una columna en una hoja de cálculo que contenga los números del tipo n2-1 para n>1: 3, 8, 15, 24, 35, 48 y quedarte con aquellos cuya parte cuadrada sea 1. Después los multiplicas por su siguiente. Así, 35 está libre de cuadrados. Lo multiplico por 36 y me resulta una de las soluciones, 1260. Resulta rápido.

 La función parte cuadrada la puedes implementar así:

public function partecuad(n)
dim i,p,a

p=1
for i=1 to sqr(n)
a=i*i
if n/a=n\a then p=a
next i
partecuad=p
end function