A288818 Number of ways in which one can insert * and ^ into the decimal digits of n to create a valid (see comments) base-ten factorization statement.
0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 3, 1, 2, 1, 2, 1, 2, 0, 1, 1, 1, 1, 2, 1, 3, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 1, 1, 1, 2, 1, 2, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0
Offset: 1
Examples
a(12) = 0 because there are no valid solutions. a(1111) = 1 because 11^11 is the only valid statement. a(7013) = 2 because 7013 and 701^3 are the only solutions. a(2353797) = 75 because there are 75 valid solutions. a(13^532*3853*96179) = 1593300019. There are 1593300019 ways of creating valid factorization statements using this 602-digit integer.
Links
- Hans Havermann, Table of n, a(n) for n = 1..10000
- Hans Havermann, Asterisks and circumflexes
- StackExchange, Generating prime factorizations from an integer's digits by inserting * and ^ into the digit sequence
Programs
-
Mathematica
See the StackExchange link. (* or *) ric[d_, lp_] := Block[{p, e, i, j, n = Length@d}, If[n == 0, cnt++, If[d[[1]] > 0, Do[p = FromDigits@ Take[d, i]; If[p > lp && PrimeQ@p, ric[Take[d, i - n], p]; Do[e = Take[d, {i + 1, j}]; If[e[[1]] > 0 && e != {1}, ric[Take[d, j - n], p]], {j, i+1, n}]], {i, n}]]]]; a[n_] := (cnt = 0; ric[ IntegerDigits@ n, 1]; cnt); Array[a, 100] (* Giovanni Resta, Jun 19 2017 *)
Comments