login
Minimal value of sum k_i when sum (k_i)^2 = n.
3

%I #20 Nov 05 2020 06:40:50

%S 0,1,2,3,2,3,4,5,4,3,4,5,6,5,6,7,4,5,6,7,6,7,8,9,8,5,6,7,8,7,8,9,8,9,

%T 8,9,6,7,8,9,8,9,10,11,10,9,10,11,12,7,8,9,10,9,10,11,12,11,10,11,12,

%U 11,12,13,8,9,10,11,10,11,12,13,12,11,12,13,14,13,14,15,12,9,10,11,12,11

%N Minimal value of sum k_i when sum (k_i)^2 = n.

%H Alois P. Heinz, <a href="/A138554/b138554.txt">Table of n, a(n) for n = 0..20163</a>

%H Phillip Tomas Heikoop, <a href="https://digitalcommons.wpi.edu/mqp-all/6822">Dimensions of Matrix Subalgebras</a>, Bachelor's Thesis, Worcester Polytechnic Institute (Massachusetts, 2019).

%e 32 = 4^2 + 4^2 and 4+4 = 8. Using 5, the best we can do is 32 = 5^2 + 2^2 + 1^2 + 1^2 + 1^2 and 5+2+1+1+1 = 10, so a(32) = 8.

%p b:= proc(n, i) option remember; `if`(n=0 or i=1, n,

%p min(seq(b(n-j*i^2, i-1)+j*i, j=0..n/i^2)))

%p end:

%p a:= n-> b(n, isqrt(n)):

%p seq(a(n), n=0..100); # _Alois P. Heinz_, Jun 30 2015

%t b[n_, i_] := b[n, i] = If[n == 0 || i == 1, n, Min[Table[b[n - j i^2, i - 1] + j i, {j, 0, n/i^2}]]];

%t a[n_] := b[n, Sqrt[n] // Floor];

%t a /@ Range[0, 100] (* _Jean-François Alcover_, Nov 05 2020, after _Alois P. Heinz_ *)

%o (PARI) sslist(n) = {local(r,i,v,t); r=vector(n+1,k,0); for(k=1,n,v=k;i=1;while(i^2<=k,t=r[k-i^2+1]+i;if(t<v,v=t);i++);r[k+1]=v); r}

%Y Cf A063772, A138555, A001156.

%K nonn,look

%O 0,3

%A _Franklin T. Adams-Watters_, Mar 24 2008