Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.
%I #14 Mar 02 2024 13:37:47
%S 1,11,21,31,41,51,61,71,81,109,137,165,193,257,294,376,467,567,676,
%T 785,894,1399,1778,1986,2887,3869,4869,5878,6887,7896,8959,9968,18798,
%U 26998,35999,45999,56899,66989,76998,87799,97889,178899,199798,298988,398988
%N n-th positive integer whose digits sum up to n.
%H Robert Israel, <a href="/A081927/b081927.txt">Table of n, a(n) for n = 1..8989</a>
%F From _Robert Israel_, Feb 20 2018: (Start)
%F a(9*k-j) = (12-j)*10^(k-1) - 10^(k-10) - 10^(j+k-45) - 1 for j=2..9, k >= 45-j.
%F a(9*k-1) = 2*10^k - 10^(k-9) - 10^(k-35) - 1, k >= 35. (End)
%e 31 is the 4th integer of the sequence and the 4th number whose digits sum up to 4 : 4, 13, 22, [31], 103, 112, 121, 130, ...
%e 109 is the 10th integer of the sequence and the 10th number whose digits sum up to 10 : 19, 28, 37, 46, 55, 64, 73, 82, 91, [109], 118, 127, 136, ...
%p f:= proc(n) local Res, d, v, count;
%p count:= 0;
%p for d from ceil(n/9) while count < n do
%p v:= g(n,d,n-count,1);
%p Res:= v[-1];
%p count:= count + nops(v);
%p od:
%p Res
%p end proc:
%p g:= proc(n,d,remain) local rem, Res, j, j0, v;
%p if remain = 0 then return [] else rem:= remain fi;
%p if nargs = 4 then j0:= 1 else j0:= 0 fi;
%p if d = 1 then if n >= j0 and n <= 9 then [n] else [] fi
%p else
%p Res:= NULL;
%p for j from max(j0, ceil(n-9*(d-1))) to min(9,n) while rem > 0 do
%p v:= map(t -> j*10^(d-1)+t, procname(n-j,d-1,rem));
%p Res:= Res, op(v);
%p rem:= rem - nops(v);
%p od;
%p [Res]
%p fi
%p end proc:
%p map(f, [$1..200]); # _Robert Israel_, Feb 19 2018
%t Table[Select[Range[500000],Total[IntegerDigits[#]]==n&][[n]],{n,45}] (* _Harvey P. Dale_, Mar 02 2024 *)
%Y Leading diagonal of A081926.
%Y Cf. A081928, A181178
%K base,nonn
%O 1,2
%A _Amarnath Murthy_, Apr 01 2003
%E Corrected and extended by _Ray Chandler_, Oct 29 2003