allocate mem(2^30) fromzeck(n) = { my (v=0, j); while (n, n-=2^j=valuation(n,2); v+=fibonacci(2+j);); return (v); } { m = -1; a = vector(10 000); u = 1; print ("0 0"); for (n = 0, oo, if (n==0, zz = [0, 1], n==1, zz = concat([2*z | z <- [1]], [4*z + 1 | z <- [1]]), zz = concat([2*z | z <- zz], [4*z + 1 | z <- zz]); ); vv = vecsort(apply(fromzeck, zz)); for (k = 1, #vv, m++; if (vv[k] && vv[k] <= #a, a[vv[k]] = m; while (a[u], print (u " " a[u]); if (u++ > #a, break (3); ); ); ); ); ); } quit