Task

Show that the following remarkable formula gives the sequence of non-square natural numbers:

            n + floor(1/2 + sqrt(n)) 

 Print out the values for    n    in the range   1   to   22
 Show that no squares occur for    n    less than one million


This is sequence   A000037   in the OEIS database.




 
with(NumberTheory):
 
nonSquareSequence := proc(n::integer)
 return n + floor(1 / 2 + sqrt(n));
end proc:
 
seq(nonSquareSequence(i), i = 1..22);
 
for number from 1 to 10^6 while not issqr(nonSquareSequence(number)) do end;
 
number;
 