login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A074890
Decimal form of binary integers produced by a modified version of Wolfram's Rule 30 one-dimensional cellular automaton.
4
1, 3, 6, 13, 25, 55, 100, 222, 401, 891, 1602, 3559, 6428, 14258, 25647, 56936, 102860, 228154, 410339, 910998, 1645813, 3650437, 6565453, 14576121, 26332935, 58407052, 105047514, 233217299, 421327294, 934513441, 1680759539
OFFSET
0,2
COMMENTS
According to the common nomenclature (see A110240), this is actually a Rule 86 for all but the least-significant bit, and a Rule 252 for the least-significant bit, because the (fractional) bits right from the binary dot are never set. As a side effect, the first 11 terms--not the 12th--can be reproduced by a(n)=floor(A110240(n)/2^n). [From R. J. Mathar, Apr 29 2009]
REFERENCES
S. Wolfram, A New Kind of Science, Wolfram Media Inc., (2002), p. 27.
FORMULA
If b(n) is current binary digit, perform for each digit to get next integer in sequence: b(n) = (b(n)==0 && b(n+1)==0) ? b(n-1) : 1-b(n-1);//Wolfram's Rule 30*
EXAMPLE
a(4)=13 because a(3)=6=0110(binary) and applying Rule 30 to each digit [(b(n)==0 && b(n+1)==0) ? b(n-1) : 1-b(n-1)]
PROG
(Java)
/** Java class to generate sequence */
public class r30seqA { static String zero="0", one="1"; public static void main(String[] args) { int base10 = 1; System.out.println(base10); for(int i=0; i<30; i++) System.out.println(base10 = base10Convert(applyR30(Integer.toBinaryString(base10)))); }
static String applyR30(String base2) { int a0, a1, a2, newDigit; StringBuffer newBase2 = new StringBuffer(); for(int i=-1; i<base2.length(); i++){ if(i<1) a0=0; else a0=base2.substring(i-1, i).equals(zero)?0:1; if(i<0) a1=0; else a1=base2.substring(i, i+1).equals(zero)?0:1; if(i==base2.length()-1) a2=0; else a2=base2.substring(i+1, i+2).equals(zero)?0:1; newDigit = a1==0&&a2==0?a0:1-a0; //Wolfram's Rule 30 newBase2.append(newDigit==0?zero:one); } return newBase2.toString(); }
static int base10Convert(String R30) { int newBase10 = 0; for(int i=0; i<R30.length(); i++) if(!R30.substring(i, i+1).equals(zero)) newBase10 += powerOf2(R30.length()-i-1); return newBase10; }
static int powerOf2(int power) { int p = 1; for(int i=0; i<power; i++) p*=2; return p; } }
CROSSREFS
Cf. A110240 for Rule 30.
Sequence in context: A005116 A121349 A215984 * A244704 A032198 A079941
KEYWORD
base,nonn
AUTHOR
Jason E Sackett (jason(AT)heavyion.com), Sep 13 2002
EXTENSIONS
Definition modified by N. J. A. Sloane, Jul 28 2014
STATUS
approved