%I #38 Mar 31 2023 09:18:15
%S 1,12,111,1116,11112,111114,1111112,11111112,111111111,1111111125,
%T 11111111112,111111111126,1111111111116,11111111111114,
%U 111111111111114,1111111111111122,11111111111111112,111111111111111132,1111111111111111119,11111111111111111121,111111111111111111117
%N a(n) is the smallest Niven (or Harshad) number with exactly n digits and not containing the digit 0.
%C This sequence is inspired by a problem, proposed by Argentina during the 39th International Mathematical Olympiad in 1998 at Taipei, Taiwan, but not used for the competition.
%C The problem asked for a proof that, for each positive integer n, there exists a n-digit number, not containing the digit 0 and that is divisible by the sum of its digits (see links: Diophante in French and Kalva in English).
%C This sequence lists the smallest such n-digit integer.
%H Michael S. Branicky, <a href="/A348150/b348150.txt">Table of n, a(n) for n = 1..1000</a>
%H Diophante, <a href="http://www.diophante.fr/problemes-par-themes/arithmetique-et-algebre/a1-pot-pourri/3455-a1960-bon-souvenir-de-buenos-aires">Bon souvenir de Buenos-Aires</a>.
%H Kalva, <a href="https://prase.cz/kalva/short/sh98.html">39th IMO 1998 shortlisted problems, problem N7</a>.
%H <a href="/index/O#Olympiads">Index to sequences related to Olympiads</a>.
%F a(n) = A002275(n) = R_n iff n is in A014950.
%e 111114 has 6 digits, does not contain 0 and is divisible by 1+1+1+1+1+4 = 9 (111114 = 9*12346), while 111111, 111112, 111113 are not respectively divisible by sum of their digits: 6, 7, 8; hence, a(6) = 111114.
%t hQ[n_] := ! MemberQ[(d = IntegerDigits[n]), 0] && Divisible[n, Plus @@ d]; a[n_] := Module[{k = (10^n - 1)/9}, While[! hQ[k], k++]; k]; Array[a, 30] (* _Amiram Eldar_, Oct 03 2021 *)
%o (PARI) a(n) = for(k=(10^n-1)/9, 10^n-1, if (vecmin(digits(k)) && !(k % sumdigits(k)), return (k))); \\ _Michel Marcus_, Oct 03 2021
%o (Python)
%o def niven(n):
%o s = str(n)
%o return '0' not in s and n%sum(map(int, s)) == 0
%o def a(n):
%o k = int("1"*n)
%o while not niven(k): k += 1
%o return k
%o print([a(n) for n in range(1, 22)]) # _Michael S. Branicky_, Oct 09 2021
%Y Cf. A002275, A005349, A217973.
%K nonn,base
%O 1,2
%A _Bernard Schott_, Oct 03 2021
%E More terms from _Amiram Eldar_, Oct 03 2021