Smallest square that begins with n: Difference between revisions

m
(→‎Version 2: Realigned with changed Pascal entry.)
m (→‎{{header|Phix}}: use pow10)
Line 2,226:
atom sqrtN = sqrt(n),
sqrtN_10 = sqrt(n*10)
integer pow10 = 1
do
for res in {trunc(sqrtN),trunc(sqrtN_10)} do
for kplus01=0 to 1 do
atom mySqr :=if floor(res*res/pow10)=n then return res end if
while mySqr>n do mySqr = floor(mySqr/10) end while
if mySqr = n then return res end if
res += 1
end for
pow10 *= 10
end for
sqrtN *= 10;
sqrtN_10 *= 10;
until sqrtN > 10*n;
?9/0
end function
Line 2,252:
for i=999991 to 1000*1000 do
t := LowSquareStartN(i)
printf(1,"%10d:%10d11d->%14d20d\n",{i,t,t*t})
end for
puts(1,"\n")
7,818

edits