Largest palindrome product: Difference between revisions
Content added Content deleted
Line 709: | Line 709: | ||
</pre> |
</pre> |
||
=={{header|Mathematica}} / {{header|Wolfram Language}}== |
=={{header|Mathematica}} / {{header|Wolfram Language}}== |
||
<lang Mathematica>palindromeQ[n_] := |
<lang Mathematica>palindromeQ[n_] := (* faster than built in test PalindromeQ *) |
||
Block[{digits = IntegerDigits@n}, digits == Reverse[digits]] |
Block[{digits = IntegerDigits@n}, digits == Reverse[digits]] |
||
nextPair[n_] := |
nextPair[n_] := (* outputs next pair of candidate divisors *) |
||
Block[{next = |
Block[{next = |
||
NestWhile[# - 11 &, n, ! MemberQ[{1, 3, 7, 9}, Mod[#, 10]] &], |
NestWhile[# - 11 &, n, ! MemberQ[{1, 3, 7, 9}, Mod[#, 10]] &], |
||
Line 730: | Line 730: | ||
First@# > resetLimit &]]], 2]; |
First@# > resetLimit &]]], 2]; |
||
Flatten@cands[[Ordering[Times @@@ cands, -1]]]] |
Flatten@cands[[Ordering[Times @@@ cands, -1]]]] |
||
Grid[Join[{{"factors", "largest palindrome"}}, {#, Times @@ #} & /@ |
Grid[Join[{{"factors", "largest palindrome"}}, {#, Times @@ #} & /@ |
||
Table[search[n], {n, 2, 7}]], Alignment -> {Left, Baseline}]</lang> |
Table[search[n], {n, 2, 7}]], Alignment -> {Left, Baseline}]</lang> |
||
Line 740: | Line 741: | ||
{99979,99681} 9966006699 |
{99979,99681} 9966006699 |
||
{999999,999001} 999000000999 |
{999999,999001} 999000000999 |
||
{9997647,9998017} 99956644665999 |
{9997647,9998017} 99956644665999 |
||
</pre> |
|||
=={{header|Paper & Pencil}}== |
=={{header|Paper & Pencil}}== |