Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %%%%%%%%%% Most numbers up to 20 characters
- %%%%%%%%%%%%%%%%%%%% Mathematica code to generate the strings
- gen[n_] :=
- Select[
- StringJoin /@ (# /. {1 -> "s", -1 -> "e"} & /@
- (Prepend[#,
- 1] & /@ (Append[#, -1] & /@ (
- Select[
- Permutations[
- Join[ConstantArray[1, n - 1], ConstantArray[-1, n - 1]]],
- FreeQ[Table[Plus @@ Take[#, k] >= 0, {k, 1, Length@#}],
- False] &
- ]
- )))),
- StringFreeQ[#, "esee"] &]
- SortBy[
- Flatten[
- Table[{If[# > 10^100, ">10^100", #] &@eval[#], #} & /@ gen[n], {n,
- 1, 10}],
- 1],
- First] // TableForm
- %%%%%%%%%%%%%%%%%%%% Mathematica code to translate the strings to decimal
- R = 10^50;
- primePower[exps_] :=
- Times @@ Thread@Power[Prime@Range@Length@exps, exps]
- stringPrimePower[string_] :=
- If[# < R || # == "abort", ToString@#, "abort"] &@(primePower@
- Cases[ToExpression[
- StringCases[string, DigitCharacter ..]], _Integer])
- powersToNumber[string_] :=
- If[StringFreeQ[string, "abort"],
- StringReplace[
- StringReplace[
- string,
- RegularExpression["s" <> "([^se]+)" <> "e"] -> "(" <> "$1" <> ")"],
- "(" ~~ x__ ~~ ")" :> "S" <> stringPrimePower[x] <> "E"],
- "abort"]
- eval[string_] :=
- ToExpression@StringDrop[StringDrop[
- FixedPoint[powersToNumber,
- StringReplace[StringReplace[string, "se" -> "S0E"],
- "sS0Ee" -> "S1E"]],
- 1], -1]
Advertisement
Add Comment
Please, Sign In to add comment