This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A167047 #2 Mar 30 2012 17:35:24 %S A167047 1,3,5,7,9,2,11,13,4,15,17,6,19,21,8,23,25,27,10,29,31,12,33,35,37,14, %T A167047 39,41,16,43,45,47,18,49,51,20,53,55,57,22,59,61,24,63,65,26,67,69,71, %U A167047 28,73,75,30,77,79,81,32,83,85,34,87,89,36,91,93,95,38,97,99,40,101,103 %N A167047 Angry numbers: each number n must be more than n places from n-1 and n+1. This sequence makes each number as small as possible as it occurs. %C A167047 This sequence is a permutation of the positive integers. A number cannot remain unassigned indefinitely; eventually the placement gets far enough from its neighbors and it gets used. %C A167047 Each term in this sequence is either the next unused even number or the next unused odd number; after the initial 5 terms there are always 2 or 3 odd numbers between each pair of even numbers. %e A167047 After a(1) = 1, we cannot have a(2) = 2, because then 1 and 2 would be too close. a(2) = 3 is OK. Now a(3) can't be 2 because then 2 and 3 would be too close; 4 would also be too close to 3, but 5 is OK. Skipping ahead, a(6) is the first place where 2 is not too close to 3, so a(6) = 2. %o A167047 (PARI) dist(n) = n+1 %o A167047 al(n)= {local(v,w,mn,ok); %o A167047 v=vector(n);w=vector(2*n);u=vector(n); %o A167047 v[1]=w[1]=1;mn=2; %o A167047 for(k=2,n, %o A167047 j=mn-1;ok=0; %o A167047 while(!ok, %o A167047 j++;ok=w[j]==0; %o A167047 if(ok&w[j-1]&abs(k-w[j-1])<dist(j),ok=0); %o A167047 if(ok&w[j+1]&abs(k-w[j+1])<dist(j+1),ok=0)); %o A167047 v[k]=j;w[j]=k); %o A167047 while(w[mn],mn++); %o A167047 v} %Y A167047 Cf. A167046, A167049. %K A167047 nonn %O A167047 1,2 %A A167047 _Franklin T. Adams-Watters_, Oct 27 2009