%I #25 Mar 28 2022 11:24:56
%S 13,19,23,26,29,39,46,49,59,69,79,89,103,109,111,133,199,203,206,209,
%T 211,218,222,233,266,299,309,311,327,333,399,406,409,411,412,418,422,
%U 433,436,444,466,499,509,511,515,533,545,555,599,609,611,618,622,627
%N Base-10 modest numbers.
%C A number is modest if there exists at least one partitioning of its decimal expansion wherein the number divided by the second part leaves a remainder of the first part.
%D Problem 1291, J. Rec. Math., 17 (No.2, 1984), 140-141.
%H Reinhard Zumkeller, <a href="/A054986/b054986.txt">Table of n, a(n) for n = 1..10000</a>
%e 2036 is modest because 2036 mod 36 = 20. 2037 is modest because 2037 mod 037 = 2.
%o (Haskell)
%o import Data.List (inits, tails)
%o a054986 n = a054986_list !! (n-1)
%o a054986_list = filter modest [1..] where
%o modest x = or $ zipWith m
%o (map read $ (init $ tail $ inits $ show x) :: [Integer])
%o (map read $ (tail $ init $ tails $ show x) :: [Integer])
%o where m u v = u < v && (x - u) `mod` v == 0
%o -- _Reinhard Zumkeller_, Mar 26 2012
%o (PARI) is(n,p=1)=while(n>p*=10,n%p&&(n%(n%p)==n\p)&&return(1)) \\ _M. F. Hasler_, Sep 17 2014
%o (Python)
%o def ok(n):
%o s = str(n)
%o for i in range(1, len(s)):
%o head, tail = int(s[:i]), int(s[i:])
%o if tail and n%tail == head: return True
%o return False
%o print([k for k in range(628) if ok(k)]) # _Michael S. Branicky_, Mar 28 2022
%Y Cf. A007627.
%K easy,nonn,base
%O 1,1
%A _Hans Havermann_, May 30 2000
|