# Greetings from The On-Line Encyclopedia of Integer Sequences! http://oeis.org/
Search: id:a030141
Showing 1-1 of 1
%I A030141 #38 Jul 13 2022 02:06:50
%S A030141 0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,21,23,25,27,29,30,32,34,36,38,41,
%T A030141 43,45,47,49,50,52,54,56,58,61,63,65,67,69,70,72,74,76,78,81,83,85,87,
%U A030141 89,90,92,94,96,98,101,103,105,107,109,121,123,125,127,129
%N A030141 Numbers in which parity of the decimal digits alternates.
%C A030141 An alternating integer is a positive integer for which, in base-10, the parity of its digits alternates.
%C A030141 The number of terms < 10^n (n>=0): 1, 10, 55, 280, 1405, 7030, 35155, ..., . - _Robert G. Wilson v_, Apr 01 2011
%C A030141 The number of terms between 10^n and 10^(n+1) is 9 * 5^n for n>=0. For n>=0, number of terms < 10^n is 1 + 9 * (5^n-1)/4. - _Franklin T. Adams-Watters_, Apr 01 2011
%C A030141 A228710(a(n)) = 1. - _Reinhard Zumkeller_, Aug 31 2013
%H A030141 Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
%H A030141 45th International Mathematical Olympiad (45th IMO), Problem #6 and Solution, Mathematics Magazine, 78 (2005), pp. 247, 250, 251.
%H A030141 Index entries for 10-automatic sequences.
%e A030141 121 is alternating and in the sequence because its consecutive digits are odd-even-odd, 1 being odd and 2 even. Of course, 1234567890 is also alternating.
%t A030141 fQ[n_] := Block[{m = Mod[ IntegerDigits@ n, 2]}, m == Split[m, UnsameQ][[1]]]; Select[ Range[0, 130], fQ] (* _Robert G. Wilson v_, Apr 01 2011 *)
%o A030141 (Haskell)
%o A030141 a030141 n = a030141_list !! (n-1)
%o A030141 a030141_list = filter ((== 1) . a228710) [0..]
%o A030141 -- _Reinhard Zumkeller_, Aug 31 2013
%o A030141 (PARI) is(n,d=digits(n))=for(i=2,#d, if((d[i]-d[i-1])%2==0, return(0))); 1 \\ _Charles R Greathouse IV_, Jul 08 2022
%o A030141 (Python)
%o A030141 from itertools import count
%o A030141 def A030141_gen(startvalue=0): # generator of terms >= startvalue
%o A030141 return filter(lambda n:all(int(a)+int(b)&1 for a, b in zip(str(n),str(n)[1:])),count(max(startvalue,0)))
%o A030141 A030141_list = list(islice(A030141_gen(),30)) # _Chai Wah Wu_, Jul 12 2022
%o A030141 (Python)
%o A030141 from itertools import chain, count, islice
%o A030141 def altgen(seed, digits):
%o A030141 allowed = "02468" if seed in "13579" else "13579"
%o A030141 if digits == 1: yield from allowed; return
%o A030141 for f in allowed: yield from (f + r for r in altgen(f, digits-1))
%o A030141 def agen(): yield from chain(range(10), (int(f+r) for d in count(2) for f in "123456789" for r in altgen(f, d-1)))
%o A030141 print(list(islice(agen(), 65))) # _Michael S. Branicky_, Jul 12 2022
%Y A030141 Complement: A228709.
%Y A030141 Subsequences: A030142, A030143, A030144, A030147, A030152, A062285.
%Y A030141 Cf. A110303, A110304, A110305, A056830, A103181, A228722, A228723.
%K A030141 nonn,base,easy
%O A030141 1,3
%A A030141 _Patrick De Geest_
%E A030141 Offset corrected by _Reinhard Zumkeller_, Aug 31 2013
# Content is available under The OEIS End-User License Agreement: http://oeis.org/LICENSE